home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";
- #endif
- #define YYBYACC 1
- #line 23 ":perly.y"
- #include "INTERN.h"
- #include "perl.h"
-
- /*SUPPRESS 530*/
- /*SUPPRESS 593*/
- /*SUPPRESS 595*/
-
- STAB *scrstab;
- ARG *arg4; /* rarely used arguments to make_op() */
- ARG *arg5;
-
- #line 38 ":perly.y"
- typedef union {
- int ival;
- char *cval;
- ARG *arg;
- CMD *cmdval;
- struct compcmd compval;
- STAB *stabval;
- FCMD *formval;
- } YYSTYPE;
- #line 28 "y.tab.c"
- #define WORD 257
- #define APPEND 258
- #define OPEN 259
- #define SSELECT 260
- #define LOOPEX 261
- #define USING 262
- #define FORMAT 263
- #define DO 264
- #define SHIFT 265
- #define PUSH 266
- #define POP 267
- #define LVALFUN 268
- #define WHILE 269
- #define UNTIL 270
- #define IF 271
- #define UNLESS 272
- #define ELSE 273
- #define ELSIF 274
- #define CONTINUE 275
- #define SPLIT 276
- #define FLIST 277
- #define FOR 278
- #define FILOP 279
- #define FILOP2 280
- #define FILOP3 281
- #define FILOP4 282
- #define FILOP22 283
- #define FILOP25 284
- #define FUNC0 285
- #define FUNC1 286
- #define FUNC2 287
- #define FUNC2x 288
- #define FUNC3 289
- #define FUNC4 290
- #define FUNC5 291
- #define HSHFUN 292
- #define HSHFUN3 293
- #define FLIST2 294
- #define SUB 295
- #define FILETEST 296
- #define LOCAL 297
- #define DELETE 298
- #define RELOP 299
- #define EQOP 300
- #define MULOP 301
- #define ADDOP 302
- #define PACKAGE 303
- #define AMPER 304
- #define FORMLIST 305
- #define REG 306
- #define ARYLEN 307
- #define ARY 308
- #define HSH 309
- #define STAR 310
- #define SUBST 311
- #define PATTERN 312
- #define RSTRING 313
- #define TRANS 314
- #define LISTOP 315
- #define DOTDOT 316
- #define OROR 317
- #define ANDAND 318
- #define UNIOP 319
- #define LS 320
- #define RS 321
- #define MATCH 322
- #define NMATCH 323
- #define UMINUS 324
- #define POW 325
- #define INC 326
- #define DEC 327
- #define YYERRCODE 256
- short yylhs[] = { -1,
- 26, 0, 25, 25, 12, 12, 12, 5, 3, 6,
- 6, 7, 7, 7, 7, 7, 10, 10, 10, 10,
- 10, 10, 9, 9, 9, 9, 8, 8, 8, 8,
- 8, 8, 8, 8, 11, 11, 21, 21, 24, 24,
- 1, 1, 1, 2, 2, 27, 28, 15, 13, 13,
- 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 22, 22, 22, 22, 22, 22, 18, 18, 19, 19,
- 20, 20, 4, 4, 23,
- };
- short yylen[] = { 2,
- 0, 2, 3, 2, 0, 2, 5, 4, 0, 0,
- 2, 1, 2, 1, 2, 3, 1, 1, 3, 3,
- 3, 3, 5, 5, 3, 3, 6, 6, 4, 4,
- 7, 6, 10, 2, 0, 1, 0, 1, 0, 2,
- 1, 1, 1, 4, 3, 3, 3, 2, 3, 1,
- 2, 3, 4, 4, 4, 4, 4, 4, 4, 4,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 5, 3, 3, 1, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 1, 4, 3,
- 2, 2, 2, 1, 1, 4, 1, 1, 4, 6,
- 5, 4, 4, 5, 1, 1, 1, 1, 1, 5,
- 5, 4, 4, 2, 5, 5, 4, 4, 2, 1,
- 2, 1, 2, 2, 1, 2, 4, 7, 2, 4,
- 5, 4, 2, 2, 3, 1, 5, 6, 6, 7,
- 9, 6, 2, 4, 2, 4, 1, 1, 6, 5,
- 4, 5, 4, 2, 1, 1, 3, 3, 4, 5,
- 5, 6, 6, 7, 8, 4, 2, 6, 1, 1,
- 1, 2, 2, 3, 3, 3, 1, 1, 1, 1,
- 1, 1, 2, 1, 1,
- };
- short yydefred[] = { 1,
- 0, 10, 0, 0, 0, 0, 0, 12, 41, 11,
- 14, 0, 42, 43, 40, 0, 0, 0, 0, 17,
- 9, 185, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
- 97, 95, 108, 107, 106, 109, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 13, 0, 0,
- 0, 0, 170, 169, 34, 0, 45, 46, 47, 10,
- 129, 0, 126, 0, 121, 0, 0, 93, 0, 179,
- 180, 0, 145, 0, 0, 143, 154, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 133,
- 134, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 181, 182, 0, 167, 0, 0,
- 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 123, 0, 0, 0, 84, 85,
- 0, 0, 0, 0, 0, 0, 0, 4, 16, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 82, 83, 44, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
- 30, 0, 25, 0, 26, 0, 0, 0, 36, 0,
- 0, 135, 0, 0, 0, 0, 0, 0, 157, 158,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 184, 0, 0, 6, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 8, 130, 0,
- 0, 0, 0, 127, 112, 0, 117, 0, 146, 0,
- 144, 0, 0, 0, 0, 151, 0, 153, 0, 0,
- 0, 132, 0, 0, 0, 0, 0, 159, 0, 0,
- 0, 0, 0, 166, 0, 0, 89, 0, 113, 0,
- 118, 0, 99, 96, 103, 102, 0, 183, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 131, 0, 0, 110, 115, 0, 27, 28, 23, 24,
- 150, 0, 0, 0, 32, 137, 0, 0, 0, 0,
- 160, 161, 0, 0, 0, 0, 0, 152, 104, 111,
- 116, 101, 0, 0, 0, 0, 142, 149, 31, 0,
- 138, 0, 139, 0, 162, 163, 0, 0, 168, 100,
- 7, 128, 0, 140, 0, 164, 0, 0, 0, 165,
- 33, 141,
- };
- short yydgoto[] = { 1,
- 8, 9, 90, 254, 77, 3, 10, 11, 78, 219,
- 220, 168, 80, 81, 291, 293, 82, 198, 103, 138,
- 208, 83, 84, 12, 85, 2, 13, 14,
- };
- short yysindex[] = { 0,
- 0, 0, -175, -25, -59, -235, -231, 0, 0, 0,
- 0, 381, 0, 0, 0, 28, -266, -80, 15, 0,
- 0, 0, -36, -29, -210, 557, -33, 43, -8, 2567,
- -16, -15, -12, -11, 108, 123, -5, -30, 139, 148,
- 162, 163, 168, 170, 171, 173, 175, 177, 178, 179,
- -35, 180, 183, 2664, 190, -165, -230, -55, 0, -46,
- 0, 0, 0, 0, 0, 0, 751, 842, 2567, 2567,
- 2567, 2567, 926, 0, 2567, 2567, -74, 0, 62, -32,
- 3359, -135, 0, 0, 0, -89, 0, 0, 0, 0,
- 0, 2758, 0, 2855, 0, 196, -22, 0, -185, 0,
- 0, -237, 0, -237, -237, 0, 0, 2567, -80, 2567,
- -80, 2567, -80, 2567, -80, 2567, 2567, 210, 1036, 0,
- 0, 1130, 2855, 2855, 2855, 2855, 2855, 211, 1226, 2567,
- 2567, 2567, 2567, 2567, 0, 0, -248, 0, -248, 2567,
- 0, -185, 2567, 131, 215, 216, 2567, 2567, 2567, 2567,
- 2567, 6039, 2567, 207, 0, -185, -135, -135, 0, 0,
- 212, 18, -135, -135, -80, 219, -80, 0, 0, 2567,
- 2567, 2567, 2567, 2567, 2567, 2567, 1321, 1418, 2567, 2567,
- 2567, 2567, 2567, 1515, 1609, 1706, 1800, 1897, 2567, 2567,
- 1991, 0, 0, 0, -106, 222, 3359, 258, 0, 5823,
- 265, 2088, 2185, 276, 274, 278, 207, 280, 0, 23,
- 0, 81, 0, 109, 0, 5776, 18, 2567, 0, 263,
- -38, 0, 282, 258, 281, 281, 288, 289, 0, 0,
- 117, 5855, 5823, 5823, 5823, 5823, 283, 281, 5855, 18,
- 2567, 2279, 2376, -7, -14, -6, -13, 207, 207, 207,
- 2567, 0, 2473, 252, 0, 2567, 0, 207, 207, 207,
- 207, 3359, -185, 114, 2567, -179, 2567, -223, 3359, 4199,
- 674, 2989, 792, 2567, 176, 2567, 176, 2567, -116, 2567,
- -147, 2567, -147, 19, 19, 2567, 19, 0, 0, 2567,
- 304, 2567, 281, 0, 0, 18, 0, 18, 0, 2567,
- 0, -80, -80, -80, -80, 0, 124, 0, 18, 2567,
- -80, 0, 334, 258, 281, 2855, 2855, 0, 345, 126,
- 258, 281, 281, 0, 258, 346, 0, -2, 0, 18,
- 0, 18, 0, 0, 0, 0, 13, 0, 2567, 128,
- 3359, 3359, 2567, 3359, 3359, 3359, 3359, 3359, 3359, 207,
- 0, 3359, 281, 0, 0, 18, 0, 0, 0, 0,
- 0, 347, -80, 332, 0, 0, 351, 258, 353, 281,
- 0, 0, 354, 357, 258, 281, 358, 0, 0, 0,
- 0, 0, 21, -80, 661, 361, 0, 0, 0, 1036,
- 0, 362, 0, 281, 0, 0, 363, 258, 0, 0,
- 0, 0, 364, 0, 258, 0, 365, -80, 367, 0,
- 0, 0,
- };
- short yyrindex[] = { 0,
- 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3134, 3146, 0, 3205, 0, 0, 5273,
- 0, 0, 0, 0, 3242, 0, 0, 3283, 0, 0,
- 0, 0, 0, 3532, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5310, 0, 0, 0, 3573, 0, 3610,
- 0, 0, 0, 0, 0, 0, 5347, 5385, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 7,
- 3594, 5422, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3647, 3573, 0, 101, 0,
- 0, 0, 0, 0, 0, 0, 0, 368, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 352, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4881, 0, 0, 3684, 3722, 0, 0, 0, 0,
- 5637, 3573, 0, 4049, 0, 4918, 5674, 5711, 0, 0,
- 3974, 0, 5748, 5786, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 450, 4774, 136, 0, 962, 369,
- 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 366, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4086, 4123, 4161,
- 0, 0, 0, 4012, 0, 0, 0, 31, 32, 45,
- 46, 3671, 4955, 4992, 0, 4525, 0, 4562, 3937, 0,
- 501, 6150, 3172, 0, 6123, 0, 6144, 0, 5236, 0,
- 4600, 0, 4843, 4413, 4451, 0, 4488, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 370,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4033, 4037, 0, 4073, 4110, 4512, 4550, 4902, 4914, 371,
- 0, 146, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3159, 0, 0, 0, 0, 379,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,
- };
- short yygindex[] = { 0,
- 0, 0, 0, -200, -18, 333, 0, 0, 0, 410,
- 40, 0, 6370, 339, 218, -141, 172, -71, 29, 34,
- 122, 0, 0, 0, 1069, 0, 0, 0,
- };
- #define YYTABLESIZE 6709
- short yytable[] = { 88,
- 5, 17, 252, 92, 137, 253, 102, 98, 135, 122,
- 94, 174, 109, 111, 113, 115, 308, 203, 288, 100,
- 311, 18, 201, 108, 110, 19, 145, 112, 114, 174,
- 174, 105, 15, 5, 119, 148, 174, 174, 87, 327,
- 5, 174, 21, 5, 150, 5, 95, 18, 153, 155,
- 223, 224, 225, 226, 227, 228, 174, 106, 252, 5,
- 136, 253, 38, 303, 174, 18, 174, 147, 148, 2,
- 101, 21, 22, 89, 307, 146, 149, 177, 334, 336,
- 38, 4, 104, 314, 315, 19, 20, 5, 86, 21,
- 22, 320, 321, 322, 323, 354, 325, 355, 189, 190,
- 147, 191, 39, 19, 20, 382, 21, 21, 363, 39,
- 21, 21, 39, 400, 39, 177, 178, 333, 335, 6,
- 169, 304, 379, 5, 174, 5, 5, 7, 39, 380,
- 204, 381, 205, 206, 187, 188, 189, 190, 92, 191,
- 144, 92, 189, 190, 92, 191, 255, 116, 257, 305,
- 4, 353, 174, 177, 178, 387, 5, 318, 92, 92,
- 174, 92, 117, 92, 361, 362, 372, 292, 384, 290,
- 237, 174, 238, 368, 189, 190, 178, 191, 123, 178,
- 375, 376, 175, 176, 177, 178, 51, 124, 6, 51,
- 192, 193, 39, 92, 92, 39, 7, 16, 165, 166,
- 167, 125, 126, 187, 188, 189, 190, 127, 191, 128,
- 129, 386, 130, 186, 131, 194, 132, 133, 134, 139,
- 91, 135, 140, 100, 92, 92, 120, 93, 394, 143,
- 170, 171, 172, 173, 398, 202, 170, 171, 172, 173,
- 157, 158, 159, 160, 369, 370, 163, 164, 100, 218,
- 174, 229, 405, 241, 242, 243, 5, 5, 256, 5,
- 5, 5, 289, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 136, 101, 121, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 101,
- 118, 290, 251, 5, 5, 294, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 299, 300, 301, 5,
- 302, 310, 312, 324, 292, 39, 5, 5, 39, 39,
- 39, 316, 317, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 339, 191, 351, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 99, 39, 39, 39, 107, 92,
- 92, 92, 92, 39, 366, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 371, 378, 388, 39, 411,
- 390, 391, 142, 393, 395, 39, 39, 396, 399, 92,
- 92, 402, 404, 406, 408, 410, 156, 412, 37, 178,
- 35, 48, 175, 69, 177, 178, 92, 92, 92, 35,
- 73, 79, 195, 76, 18, 75, 92, 92, 37, 403,
- 197, 364, 200, 187, 188, 189, 190, 0, 191, 74,
- 0, 313, 0, 0, 0, 0, 0, 0, 0, 319,
- 0, 0, 0, 0, 216, 0, 326, 0, 0, 0,
- 197, 197, 197, 197, 197, 197, 0, 0, 232, 233,
- 234, 235, 236, 0, 175, 176, 177, 178, 239, 0,
- 0, 0, 39, 0, 0, 0, 0, 0, 0, 39,
- 0, 0, 39, 0, 39, 187, 188, 189, 190, 0,
- 191, 0, 0, 21, 0, 0, 70, 0, 39, 0,
- 0, 0, 262, 263, 264, 266, 268, 269, 270, 271,
- 272, 273, 275, 277, 279, 281, 283, 284, 285, 287,
- 0, 367, 0, 0, 0, 0, 0, 373, 374, 0,
- 0, 71, 377, 0, 71, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 71, 71,
- 0, 71, 0, 71, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 392, 0, 0, 0, 69,
- 0, 262, 397, 71, 0, 0, 73, 0, 0, 76,
- 0, 75, 0, 341, 0, 342, 0, 0, 0, 0,
- 0, 0, 344, 0, 345, 407, 346, 0, 347, 0,
- 348, 0, 409, 0, 349, 71, 0, 0, 0, 0,
- 352, 0, 0, 0, 0, 0, 20, 22, 0, 23,
- 24, 25, 0, 0, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 0, 197, 197, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 21,
- 0, 385, 70, 0, 57, 0, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 0, 0, 186, 68,
- 0, 0, 0, 0, 0, 39, 71, 72, 39, 39,
- 39, 186, 0, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 0, 180, 0, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 0, 39, 39, 39, 0, 0,
- 0, 0, 0, 39, 185, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 0, 0, 185, 39, 71,
- 71, 71, 71, 0, 0, 39, 39, 0, 0, 0,
- 0, 0, 0, 69, 184, 0, 0, 0, 0, 0,
- 73, 0, 0, 76, 0, 75, 0, 184, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 96, 0, 23, 24, 25, 0, 0,
- 26, 27, 28, 29, 30, 0, 71, 71, 0, 186,
- 0, 0, 35, 36, 0, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 0, 0, 0, 0, 0,
- 57, 0, 97, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 0, 21, 69, 68, 70, 0, 0, 0,
- 0, 73, 71, 72, 76, 185, 75, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 184, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 69, 175,
- 176, 177, 178, 0, 21, 73, 161, 70, 76, 0,
- 75, 0, 175, 176, 177, 178, 181, 182, 183, 0,
- 187, 188, 189, 190, 0, 191, 0, 0, 0, 0,
- 182, 183, 0, 187, 188, 189, 190, 0, 191, 185,
- 0, 0, 177, 0, 0, 177, 0, 151, 0, 23,
- 24, 25, 0, 0, 26, 27, 28, 29, 30, 0,
- 0, 0, 185, 0, 185, 0, 35, 36, 0, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 0,
- 0, 70, 0, 0, 57, 185, 152, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 0, 0, 69, 68,
- 0, 0, 0, 0, 0, 73, 71, 72, 76, 0,
- 75, 0, 0, 0, 0, 185, 0, 0, 0, 0,
- 175, 176, 177, 178, 0, 0, 0, 0, 22, 0,
- 23, 24, 25, 0, 0, 26, 27, 28, 29, 30,
- 0, 187, 188, 189, 190, 0, 191, 35, 36, 0,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 0, 54, 55, 56,
- 0, 0, 0, 0, 0, 57, 0, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
- 68, 70, 69, 0, 0, 0, 0, 71, 72, 73,
- 222, 0, 76, 0, 75, 0, 0, 209, 0, 211,
- 0, 213, 22, 215, 23, 24, 25, 0, 0, 26,
- 27, 28, 29, 30, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 0, 54, 55, 56, 0, 0, 0, 0, 0, 57,
- 0, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 0, 0, 0, 68, 0, 0, 0, 0, 0,
- 0, 71, 72, 0, 0, 70, 0, 0, 69, 0,
- 185, 185, 185, 185, 0, 73, 230, 0, 76, 0,
- 75, 0, 0, 0, 0, 0, 0, 185, 185, 185,
- 0, 185, 185, 185, 185, 0, 185, 185, 185, 0,
- 0, 20, 22, 0, 23, 24, 25, 0, 0, 26,
- 27, 28, 29, 30, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 0, 54, 55, 56, 0, 0, 0, 0, 0, 57,
- 0, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 70, 0, 69, 68, 0, 0, 0, 0, 0,
- 73, 71, 72, 76, 0, 75, 0, 0, 0, 0,
- 357, 358, 359, 360, 0, 0, 0, 0, 0, 365,
- 0, 265, 0, 0, 0, 0, 199, 0, 23, 24,
- 25, 0, 0, 26, 27, 28, 29, 30, 0, 0,
- 0, 0, 0, 0, 0, 35, 36, 0, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 0, 54, 55, 56, 0, 0,
- 0, 389, 0, 57, 0, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 0, 70, 0, 68, 0,
- 69, 0, 401, 0, 0, 71, 72, 73, 0, 0,
- 76, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 267, 0,
- 0, 0, 22, 0, 23, 24, 25, 0, 0, 26,
- 27, 28, 29, 30, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 0, 54, 55, 56, 0, 0, 0, 0, 0, 57,
- 0, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 0, 0, 70, 68, 0, 0, 69, 0, 0,
- 0, 71, 72, 0, 73, 0, 0, 76, 0, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 274, 0, 22, 0, 23,
- 24, 25, 0, 0, 26, 27, 28, 29, 30, 0,
- 0, 0, 0, 0, 0, 0, 35, 36, 0, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 0,
- 0, 0, 0, 0, 57, 0, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 0, 0, 0, 68,
- 70, 69, 0, 0, 0, 0, 71, 72, 73, 0,
- 0, 76, 0, 75, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 276,
- 0, 0, 0, 0, 22, 0, 23, 24, 25, 0,
- 0, 26, 27, 28, 29, 30, 0, 0, 0, 0,
- 0, 0, 0, 35, 36, 0, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 0, 54, 55, 56, 0, 0, 0, 0,
- 0, 57, 0, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 0, 70, 0, 68, 0, 69, 0,
- 0, 0, 0, 71, 72, 73, 0, 0, 76, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 278, 0, 0, 0,
- 0, 22, 0, 23, 24, 25, 0, 0, 26, 27,
- 28, 29, 30, 0, 0, 0, 0, 0, 0, 0,
- 35, 36, 0, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 0, 0, 0, 0, 0, 57, 0,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 0, 70, 69, 68, 0, 0, 0, 0, 0, 73,
- 71, 72, 76, 0, 75, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 280, 0, 0, 0, 0, 22, 0, 23, 24, 25,
- 0, 0, 26, 27, 28, 29, 30, 0, 0, 0,
- 0, 0, 0, 0, 35, 36, 0, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 0, 0, 0,
- 0, 0, 57, 0, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 0, 70, 0, 68, 0, 69,
- 0, 0, 0, 0, 71, 72, 73, 0, 0, 76,
- 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 282, 0, 0,
- 0, 0, 22, 0, 23, 24, 25, 0, 0, 26,
- 27, 28, 29, 30, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 0, 54, 55, 56, 0, 0, 0, 0, 0, 57,
- 0, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 0, 70, 69, 68, 0, 0, 0, 0, 0,
- 73, 71, 72, 76, 0, 75, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 286, 0, 0, 0, 0, 22, 0, 23, 24,
- 25, 0, 0, 26, 27, 28, 29, 30, 0, 0,
- 0, 0, 0, 0, 0, 35, 36, 0, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 0, 54, 55, 56, 0, 0,
- 0, 0, 0, 57, 0, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 0, 70, 0, 68, 0,
- 69, 0, 0, 0, 0, 71, 72, 73, 295, 0,
- 76, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 23, 24, 25, 0, 0,
- 26, 27, 28, 29, 30, 0, 0, 0, 0, 0,
- 0, 0, 35, 36, 0, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 0, 0, 0, 0, 0,
- 57, 0, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 0, 70, 0, 68, 0, 69, 0, 0,
- 0, 0, 71, 72, 73, 297, 0, 76, 0, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 22, 0, 23,
- 24, 25, 0, 0, 26, 27, 28, 29, 30, 0,
- 0, 0, 0, 0, 0, 0, 35, 36, 0, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 0, 54, 55, 56, 0,
- 0, 0, 0, 0, 57, 0, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 0, 0, 0, 68,
- 70, 69, 0, 0, 0, 0, 71, 72, 73, 329,
- 0, 76, 0, 75, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 23, 24, 25, 0,
- 0, 26, 27, 28, 29, 30, 0, 0, 0, 0,
- 0, 0, 0, 35, 36, 0, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 0, 54, 55, 56, 0, 0, 0, 0,
- 0, 57, 0, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 0, 70, 0, 68, 0, 69, 0,
- 0, 0, 0, 71, 72, 73, 331, 0, 76, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 22, 0, 23, 24, 25, 0, 0, 26, 27,
- 28, 29, 30, 0, 0, 0, 0, 0, 0, 0,
- 35, 36, 0, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 0, 0, 0, 0, 0, 57, 0,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 0, 70, 0, 68, 0, 69, 0, 0, 0, 0,
- 71, 72, 73, 338, 0, 76, 0, 75, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 22, 0, 23, 24, 25,
- 0, 0, 26, 27, 28, 29, 30, 0, 0, 0,
- 0, 0, 0, 0, 35, 36, 0, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 0, 0, 0,
- 0, 0, 57, 0, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 0, 0, 0, 68, 70, 69,
- 0, 0, 0, 0, 71, 72, 73, 0, 0, 76,
- 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 22, 0, 23, 24, 25, 0, 0, 26,
- 27, 28, 29, 30, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 0, 54, 55, 56, 0, 0, 0, 0, 0, 57,
- 0, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 0, 70, 0, 68, 0, 69, 0, 0, 0,
- 0, 71, 72, 73, 0, 0, 76, 0, 75, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
- 0, 23, 24, 25, 0, 0, 26, 27, 28, 29,
- 30, 0, 0, 0, 0, 0, 0, 0, 35, 36,
- 0, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 0, 54, 55,
- 56, 0, 0, 0, 0, 0, 57, 0, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 0, 70,
- 69, 68, 0, 0, 0, 0, 0, 73, 71, 72,
- 76, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 23, 24, 25, 0, 0,
- 26, 27, 28, 29, 30, 0, 0, 0, 0, 0,
- 0, 0, 35, 36, 0, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 0, 54, 55, 56, 0, 0, 0, 0, 0,
- 57, 0, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 0, 70, 0, 68, 0, 69, 0, 0,
- 0, 0, 71, 72, 73, 0, 0, 76, 0, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 141, 0, 23, 24, 25, 0, 0, 26, 27, 28,
- 29, 30, 0, 0, 0, 0, 0, 0, 0, 35,
- 36, 0, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 0, 54,
- 55, 56, 0, 0, 0, 0, 0, 57, 0, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
- 70, 0, 68, 0, 0, 0, 0, 0, 0, 71,
- 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 196, 0, 23, 24, 25, 0,
- 0, 26, 27, 28, 29, 30, 186, 0, 0, 0,
- 0, 0, 0, 35, 36, 0, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 0, 54, 55, 56, 0, 0, 0, 0,
- 0, 57, 0, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 185, 71, 72, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 199, 184, 23, 24, 25, 0, 0, 26, 27,
- 28, 29, 30, 0, 0, 0, 0, 0, 0, 0,
- 35, 36, 0, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
- 54, 55, 56, 0, 0, 0, 0, 0, 57, 0,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 0, 125, 0, 68, 125, 0, 0, 125, 0, 0,
- 71, 72, 0, 120, 0, 0, 120, 0, 0, 120,
- 0, 125, 125, 0, 125, 0, 125, 0, 0, 74,
- 0, 0, 74, 120, 120, 0, 120, 0, 120, 0,
- 0, 0, 72, 0, 0, 72, 74, 74, 0, 74,
- 0, 0, 0, 0, 0, 0, 125, 125, 0, 72,
- 72, 0, 72, 0, 72, 0, 0, 0, 120, 120,
- 0, 0, 147, 0, 0, 147, 0, 0, 147, 0,
- 0, 74, 0, 0, 0, 0, 0, 125, 125, 0,
- 0, 0, 147, 147, 72, 147, 0, 147, 0, 120,
- 120, 0, 0, 0, 0, 0, 0, 0, 0, 148,
- 0, 0, 148, 74, 0, 148, 0, 175, 176, 177,
- 178, 0, 0, 0, 0, 0, 72, 147, 147, 148,
- 148, 0, 148, 0, 148, 0, 183, 0, 187, 188,
- 189, 190, 0, 191, 0, 0, 0, 0, 0, 0,
- 136, 0, 0, 136, 0, 0, 136, 0, 147, 147,
- 0, 0, 0, 0, 148, 148, 0, 0, 0, 0,
- 136, 136, 0, 136, 0, 136, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 148, 148, 0, 0, 0,
- 0, 0, 0, 0, 0, 136, 136, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 186, 0, 0, 0,
- 0, 0, 125, 125, 125, 125, 136, 136, 0, 0,
- 0, 0, 0, 0, 120, 120, 120, 120, 0, 179,
- 0, 180, 0, 0, 0, 0, 0, 74, 74, 74,
- 74, 0, 125, 125, 125, 125, 0, 0, 0, 0,
- 72, 72, 72, 72, 120, 120, 120, 120, 0, 125,
- 125, 125, 185, 125, 125, 125, 125, 0, 125, 125,
- 125, 120, 120, 120, 0, 120, 120, 120, 120, 0,
- 120, 120, 120, 147, 147, 147, 147, 0, 0, 0,
- 0, 0, 184, 0, 74, 74, 0, 72, 72, 72,
- 0, 0, 0, 0, 0, 0, 0, 72, 72, 0,
- 0, 0, 0, 147, 147, 147, 147, 0, 0, 0,
- 148, 148, 148, 148, 0, 0, 0, 0, 0, 0,
- 147, 147, 147, 0, 147, 147, 147, 147, 0, 147,
- 147, 147, 0, 0, 0, 0, 0, 0, 0, 0,
- 148, 148, 148, 148, 0, 0, 0, 0, 0, 0,
- 0, 136, 136, 136, 136, 0, 0, 148, 148, 148,
- 0, 148, 148, 148, 148, 0, 148, 148, 148, 156,
- 0, 0, 156, 0, 0, 156, 0, 0, 0, 0,
- 0, 136, 136, 136, 136, 0, 0, 0, 0, 156,
- 156, 0, 156, 0, 156, 0, 0, 0, 136, 136,
- 136, 0, 136, 136, 136, 136, 0, 136, 136, 136,
- 94, 0, 0, 94, 0, 0, 94, 0, 0, 0,
- 0, 0, 0, 0, 156, 156, 0, 0, 0, 0,
- 94, 94, 0, 94, 50, 94, 0, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
- 98, 50, 50, 98, 0, 156, 156, 175, 176, 177,
- 178, 0, 0, 0, 0, 94, 94, 98, 98, 0,
- 98, 0, 98, 0, 181, 182, 183, 0, 187, 188,
- 189, 190, 0, 191, 185, 0, 50, 185, 0, 0,
- 185, 0, 0, 0, 0, 0, 94, 94, 0, 0,
- 0, 0, 98, 98, 185, 185, 0, 185, 0, 185,
- 0, 49, 0, 0, 49, 0, 0, 0, 50, 0,
- 0, 114, 0, 0, 114, 0, 0, 114, 49, 49,
- 0, 0, 0, 98, 98, 0, 0, 0, 0, 185,
- 185, 114, 114, 0, 114, 0, 114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 119,
- 0, 0, 119, 49, 0, 119, 0, 0, 0, 0,
- 185, 185, 0, 0, 0, 0, 114, 114, 0, 119,
- 119, 0, 119, 0, 119, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
- 156, 156, 156, 156, 0, 0, 0, 114, 114, 0,
- 0, 0, 0, 0, 119, 119, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 156, 156, 156, 156, 0, 0, 0, 0, 0, 0,
- 0, 94, 94, 94, 94, 119, 119, 156, 156, 156,
- 0, 156, 156, 156, 156, 0, 156, 156, 156, 0,
- 0, 0, 50, 50, 50, 50, 0, 0, 0, 0,
- 0, 94, 94, 94, 94, 0, 0, 0, 98, 98,
- 98, 98, 0, 0, 0, 0, 0, 0, 94, 94,
- 94, 0, 94, 94, 94, 94, 0, 94, 94, 94,
- 0, 0, 0, 0, 0, 0, 0, 0, 98, 98,
- 98, 98, 0, 0, 0, 185, 185, 185, 185, 50,
- 50, 0, 0, 0, 0, 98, 98, 98, 0, 98,
- 98, 98, 98, 0, 98, 98, 98, 0, 0, 49,
- 49, 49, 49, 0, 0, 185, 185, 185, 185, 0,
- 0, 0, 114, 114, 114, 114, 0, 0, 0, 0,
- 0, 0, 185, 185, 185, 0, 185, 185, 185, 185,
- 0, 185, 185, 185, 0, 0, 0, 52, 0, 0,
- 52, 0, 114, 114, 114, 114, 0, 0, 0, 0,
- 119, 119, 119, 119, 52, 52, 49, 49, 0, 114,
- 114, 114, 0, 114, 114, 114, 114, 0, 114, 114,
- 114, 91, 0, 0, 91, 0, 0, 91, 0, 0,
- 119, 119, 119, 119, 0, 0, 0, 0, 0, 52,
- 0, 91, 91, 0, 91, 0, 91, 119, 119, 119,
- 0, 119, 119, 119, 119, 0, 119, 119, 119, 90,
- 0, 0, 90, 0, 0, 90, 0, 0, 0, 0,
- 0, 52, 0, 0, 0, 0, 91, 91, 0, 90,
- 90, 0, 90, 54, 90, 0, 54, 55, 0, 0,
- 55, 0, 0, 0, 0, 0, 172, 0, 0, 172,
- 54, 54, 0, 0, 55, 55, 0, 91, 91, 0,
- 0, 0, 0, 0, 90, 90, 172, 172, 0, 172,
- 0, 172, 0, 60, 0, 0, 60, 0, 0, 0,
- 0, 0, 0, 174, 0, 54, 174, 0, 0, 55,
- 60, 60, 0, 0, 0, 90, 90, 0, 0, 0,
- 0, 172, 172, 174, 174, 0, 174, 0, 174, 0,
- 59, 0, 0, 59, 0, 0, 0, 54, 0, 0,
- 175, 55, 0, 175, 0, 60, 0, 59, 59, 0,
- 0, 0, 172, 172, 0, 0, 0, 0, 174, 174,
- 175, 175, 0, 175, 0, 175, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 60, 176, 0,
- 0, 176, 59, 0, 0, 52, 52, 52, 52, 174,
- 174, 0, 0, 0, 0, 175, 175, 0, 176, 176,
- 0, 176, 0, 176, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 0, 186, 0, 0, 0,
- 0, 0, 91, 91, 91, 91, 175, 175, 0, 0,
- 0, 0, 0, 176, 176, 0, 343, 0, 0, 179,
- 0, 180, 52, 52, 0, 0, 0, 0, 0, 0,
- 0, 0, 91, 91, 91, 91, 0, 0, 0, 0,
- 90, 90, 90, 90, 176, 176, 0, 0, 0, 91,
- 91, 91, 185, 91, 91, 91, 91, 0, 91, 91,
- 91, 54, 54, 54, 54, 55, 55, 55, 55, 0,
- 90, 90, 90, 90, 0, 0, 0, 172, 172, 172,
- 172, 0, 184, 0, 0, 0, 0, 90, 90, 90,
- 0, 90, 90, 90, 90, 0, 90, 90, 90, 0,
- 0, 60, 60, 60, 60, 0, 0, 172, 172, 172,
- 172, 0, 0, 0, 174, 174, 174, 174, 54, 54,
- 0, 0, 55, 55, 172, 172, 172, 0, 172, 172,
- 172, 172, 0, 172, 172, 172, 0, 0, 59, 59,
- 59, 59, 0, 0, 174, 174, 174, 174, 0, 0,
- 0, 175, 175, 175, 175, 0, 0, 0, 60, 60,
- 0, 174, 174, 174, 0, 174, 174, 174, 174, 0,
- 174, 174, 174, 0, 0, 0, 0, 0, 0, 0,
- 0, 175, 175, 175, 175, 0, 0, 0, 0, 176,
- 176, 176, 176, 0, 0, 59, 59, 0, 175, 175,
- 175, 0, 175, 175, 175, 175, 0, 175, 175, 175,
- 75, 0, 0, 75, 0, 0, 75, 0, 0, 176,
- 176, 176, 176, 0, 0, 0, 0, 0, 0, 0,
- 75, 75, 0, 75, 0, 75, 176, 176, 176, 0,
- 176, 176, 176, 176, 0, 176, 176, 176, 76, 0,
- 0, 76, 0, 0, 76, 0, 0, 175, 176, 177,
- 178, 0, 0, 0, 0, 75, 75, 0, 76, 76,
- 0, 76, 0, 76, 181, 182, 183, 0, 187, 188,
- 189, 190, 0, 191, 0, 61, 0, 0, 61, 0,
- 0, 61, 0, 0, 0, 0, 75, 75, 0, 0,
- 0, 0, 0, 76, 76, 61, 61, 0, 61, 0,
- 61, 0, 58, 0, 0, 58, 0, 0, 0, 0,
- 0, 0, 62, 0, 0, 62, 0, 0, 62, 58,
- 58, 0, 0, 0, 76, 76, 0, 0, 0, 0,
- 61, 61, 62, 62, 0, 62, 0, 62, 0, 0,
- 56, 0, 0, 56, 0, 0, 0, 0, 0, 63,
- 0, 0, 63, 0, 58, 63, 0, 56, 56, 0,
- 0, 61, 61, 0, 0, 0, 0, 62, 62, 63,
- 63, 0, 63, 0, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 58, 64, 0, 0,
- 64, 0, 56, 64, 0, 0, 0, 0, 62, 62,
- 0, 0, 0, 0, 63, 63, 0, 64, 64, 0,
- 64, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
- 0, 75, 75, 75, 75, 63, 63, 0, 0, 0,
- 0, 0, 64, 64, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 75, 75, 75, 75, 0, 0, 0, 0, 76,
- 76, 76, 76, 64, 64, 0, 0, 0, 75, 75,
- 75, 0, 75, 75, 75, 75, 0, 0, 75, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
- 76, 76, 76, 0, 0, 0, 61, 61, 61, 61,
- 0, 0, 0, 0, 0, 0, 76, 76, 76, 0,
- 76, 76, 76, 76, 0, 0, 76, 76, 0, 0,
- 58, 58, 58, 58, 0, 0, 61, 61, 61, 61,
- 0, 0, 0, 62, 62, 62, 62, 0, 0, 0,
- 0, 0, 0, 61, 61, 61, 0, 61, 61, 61,
- 61, 185, 0, 61, 61, 0, 0, 177, 56, 56,
- 56, 56, 0, 62, 62, 62, 62, 0, 0, 0,
- 63, 63, 63, 63, 185, 0, 185, 58, 58, 0,
- 62, 62, 62, 0, 62, 62, 0, 0, 0, 0,
- 62, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 63, 63, 0, 63, 0, 0, 0, 185, 64, 64,
- 64, 64, 0, 0, 0, 56, 56, 63, 63, 63,
- 65, 63, 63, 65, 0, 0, 65, 63, 63, 0,
- 0, 0, 0, 0, 0, 0, 0, 185, 64, 64,
- 65, 65, 0, 65, 0, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 64, 64, 87, 64,
- 64, 87, 0, 0, 87, 64, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 65, 65, 0, 87, 87,
- 0, 87, 57, 87, 0, 57, 0, 0, 0, 0,
- 0, 0, 0, 0, 53, 124, 0, 53, 124, 57,
- 57, 124, 0, 0, 0, 0, 65, 65, 0, 0,
- 0, 53, 53, 87, 87, 124, 124, 0, 124, 0,
- 124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 66, 0, 57, 66, 0, 0, 66, 0,
- 0, 0, 0, 0, 87, 87, 53, 0, 0, 0,
- 124, 124, 66, 66, 0, 66, 0, 66, 0, 0,
- 0, 0, 0, 0, 0, 0, 57, 0, 0, 67,
- 0, 0, 67, 0, 0, 67, 0, 0, 53, 0,
- 0, 124, 124, 0, 0, 0, 0, 66, 66, 67,
- 67, 0, 67, 0, 67, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 185, 185, 185, 185, 0, 0, 66, 66,
- 0, 0, 0, 0, 67, 67, 0, 0, 0, 185,
- 185, 185, 0, 185, 185, 185, 185, 0, 185, 185,
- 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65, 65, 65, 65, 67, 67, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65, 65, 0, 0, 0, 0, 0, 0, 87,
- 87, 87, 87, 0, 0, 0, 0, 0, 65, 65,
- 65, 0, 65, 65, 0, 0, 0, 0, 65, 65,
- 57, 57, 57, 57, 0, 0, 0, 0, 0, 87,
- 87, 0, 53, 53, 53, 53, 124, 124, 124, 124,
- 0, 0, 0, 0, 0, 0, 87, 87, 87, 0,
- 0, 0, 0, 0, 0, 0, 87, 87, 0, 0,
- 0, 0, 0, 0, 0, 0, 124, 124, 0, 0,
- 0, 0, 0, 66, 66, 66, 66, 57, 57, 0,
- 0, 0, 0, 124, 124, 124, 0, 0, 0, 53,
- 53, 0, 0, 124, 124, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 0, 0, 0, 0, 0,
- 67, 67, 67, 67, 0, 0, 0, 0, 0, 0,
- 66, 66, 66, 68, 0, 0, 68, 0, 0, 68,
- 66, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 68, 0, 68, 0, 68, 0,
- 0, 0, 0, 0, 0, 0, 0, 67, 67, 67,
- 155, 0, 0, 155, 0, 0, 155, 67, 67, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 68,
- 155, 155, 0, 155, 0, 155, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
- 88, 0, 0, 88, 0, 0, 0, 0, 0, 68,
- 68, 0, 0, 0, 0, 155, 155, 88, 88, 0,
- 88, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 171, 0, 0, 171, 0, 0,
- 171, 0, 0, 0, 0, 0, 155, 155, 0, 0,
- 0, 0, 88, 88, 171, 171, 0, 171, 0, 171,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 122, 0, 0, 122, 0, 0, 122, 0,
- 0, 0, 0, 88, 88, 0, 0, 0, 0, 171,
- 171, 0, 122, 122, 0, 122, 0, 122, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
- 0, 0, 77, 0, 0, 77, 0, 0, 0, 0,
- 171, 171, 0, 0, 0, 0, 0, 122, 122, 77,
- 77, 0, 77, 0, 77, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 68, 68, 68, 122, 122,
- 0, 0, 0, 0, 77, 77, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 155, 155, 155, 155, 77, 77, 0, 0, 0,
- 0, 68, 68, 68, 0, 0, 0, 0, 0, 0,
- 0, 68, 68, 0, 0, 0, 0, 0, 0, 0,
- 0, 155, 155, 155, 155, 0, 0, 0, 88, 88,
- 88, 88, 0, 0, 0, 0, 0, 0, 155, 155,
- 155, 0, 155, 155, 155, 155, 0, 155, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 88,
- 88, 88, 0, 0, 0, 171, 171, 171, 171, 0,
- 0, 0, 0, 0, 0, 88, 88, 88, 0, 88,
- 88, 88, 88, 0, 88, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 171, 171, 171, 171, 0,
- 0, 0, 0, 122, 122, 122, 122, 0, 0, 0,
- 0, 0, 171, 171, 171, 0, 171, 171, 171, 171,
- 0, 171, 0, 0, 173, 0, 0, 173, 0, 0,
- 173, 0, 0, 122, 122, 122, 122, 0, 0, 0,
- 77, 77, 77, 77, 173, 173, 0, 173, 0, 173,
- 122, 122, 122, 0, 122, 122, 122, 122, 0, 122,
- 0, 80, 0, 0, 80, 0, 0, 80, 0, 0,
- 77, 77, 77, 77, 0, 0, 0, 0, 0, 173,
- 173, 80, 80, 0, 80, 0, 80, 77, 77, 77,
- 0, 77, 77, 77, 77, 0, 77, 0, 81, 0,
- 0, 81, 0, 0, 81, 0, 0, 0, 0, 0,
- 173, 173, 0, 0, 0, 0, 80, 80, 81, 81,
- 0, 81, 0, 81, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 78, 0, 0, 78, 0,
- 0, 78, 0, 0, 0, 0, 0, 80, 80, 0,
- 0, 0, 0, 81, 81, 78, 78, 0, 78, 0,
- 78, 0, 0, 186, 0, 0, 306, 0, 0, 292,
- 0, 0, 0, 79, 0, 0, 79, 0, 0, 79,
- 0, 0, 0, 0, 81, 81, 179, 0, 180, 0,
- 78, 78, 0, 79, 79, 0, 79, 0, 79, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 186, 0, 0, 0, 0, 0, 292, 0, 0, 185,
- 0, 78, 78, 0, 0, 0, 0, 0, 79, 79,
- 0, 0, 0, 179, 0, 180, 0, 0, 0, 0,
- 0, 0, 186, 0, 0, 0, 0, 0, 290, 184,
- 0, 0, 0, 0, 0, 173, 173, 173, 173, 79,
- 79, 0, 0, 0, 0, 179, 185, 180, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 173, 173, 173, 173, 0,
- 0, 0, 80, 80, 80, 80, 184, 0, 185, 0,
- 0, 0, 173, 173, 173, 0, 173, 173, 173, 173,
- 0, 173, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 80, 80, 80, 80, 0, 0, 184, 81,
- 81, 81, 81, 0, 0, 0, 0, 0, 0, 80,
- 80, 80, 0, 80, 80, 80, 80, 0, 80, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
- 81, 81, 81, 0, 0, 0, 78, 78, 78, 78,
- 0, 0, 0, 0, 0, 0, 81, 81, 81, 0,
- 81, 81, 81, 81, 0, 81, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 78, 78, 78, 78,
- 0, 0, 0, 0, 79, 79, 79, 79, 0, 0,
- 0, 0, 0, 78, 78, 78, 0, 78, 78, 78,
- 78, 69, 78, 0, 175, 176, 177, 178, 73, 0,
- 0, 76, 0, 75, 79, 79, 79, 79, 0, 0,
- 0, 181, 182, 183, 0, 187, 188, 189, 190, 0,
- 191, 79, 79, 79, 0, 79, 79, 79, 79, 0,
- 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 175, 176, 177, 178, 0, 0, 0, 0, 148,
- 0, 0, 0, 0, 0, 0, 0, 0, 181, 182,
- 183, 0, 187, 188, 189, 190, 0, 191, 0, 0,
- 0, 0, 0, 175, 176, 177, 178, 0, 0, 0,
- 0, 147, 0, 70, 70, 0, 70, 0, 0, 0,
- 181, 182, 183, 0, 187, 188, 189, 190, 0, 191,
- 70, 70, 0, 70, 69, 70, 0, 69, 0, 0,
- 73, 0, 0, 73, 0, 0, 0, 0, 0, 0,
- 0, 69, 69, 0, 69, 0, 69, 73, 73, 0,
- 73, 0, 73, 0, 0, 70, 70, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 69, 69, 0, 0,
- 0, 0, 73, 0, 0, 0, 70, 70, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 69, 69, 0,
- 0, 0, 0, 0, 73, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 22, 0, 23, 24, 25,
- 0, 0, 26, 27, 28, 29, 30, 0, 0, 0,
- 0, 0, 0, 0, 35, 36, 0, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 0, 54, 55, 56, 0, 0, 0,
- 0, 0, 57, 0, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 0, 0, 0, 68, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 70, 70, 70, 70, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 69, 69, 69, 69, 0, 0, 73, 73,
- 73, 73, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 154, 0, 70, 70,
- 70, 0, 162, 0, 0, 0, 0, 0, 70, 70,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
- 69, 69, 0, 0, 0, 73, 73, 0, 0, 69,
- 69, 0, 0, 0, 0, 73, 73, 207, 0, 210,
- 0, 212, 0, 214, 0, 0, 217, 0, 221, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 231, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 240, 0, 0, 0, 244, 245, 246, 247,
- 248, 249, 250, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 258,
- 259, 260, 261, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 296, 298, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 328, 330, 332, 0, 0, 0, 0, 0, 0, 0,
- 337, 0, 0, 0, 0, 340, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 350,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 356,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 207,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 383,
- };
- short yycheck[] = { 18,
- 0, 61, 41, 40, 40, 44, 40, 26, 257, 40,
- 40, 44, 31, 32, 33, 34, 217, 40, 125, 257,
- 221, 257, 94, 40, 40, 257, 257, 40, 40, 44,
- 44, 40, 58, 33, 40, 91, 44, 44, 305, 240,
- 40, 44, 123, 43, 91, 45, 257, 41, 67, 68,
- 122, 123, 124, 125, 126, 127, 44, 29, 41, 59,
- 309, 44, 41, 41, 44, 59, 44, 123, 91, 0,
- 308, 41, 41, 59, 216, 306, 123, 301, 93, 93,
- 59, 257, 40, 225, 226, 41, 41, 263, 61, 59,
- 59, 233, 234, 235, 236, 296, 238, 298, 322, 323,
- 123, 325, 33, 59, 59, 93, 123, 123, 309, 40,
- 123, 123, 43, 93, 45, 301, 302, 125, 125, 295,
- 59, 41, 125, 123, 44, 125, 126, 303, 59, 330,
- 102, 332, 104, 105, 320, 321, 322, 323, 38, 325,
- 306, 41, 322, 323, 44, 325, 165, 40, 167, 41,
- 257, 293, 44, 301, 302, 356, 263, 41, 58, 59,
- 44, 61, 40, 63, 41, 307, 41, 44, 41, 44,
- 137, 44, 139, 315, 322, 323, 41, 325, 40, 44,
- 322, 323, 299, 300, 301, 302, 41, 40, 295, 44,
- 326, 327, 123, 93, 94, 126, 303, 257, 273, 274,
- 275, 40, 40, 320, 321, 322, 323, 40, 325, 40,
- 40, 353, 40, 38, 40, 305, 40, 40, 40, 40,
- 257, 257, 40, 257, 124, 125, 257, 257, 370, 40,
- 269, 270, 271, 272, 376, 40, 269, 270, 271, 272,
- 69, 70, 71, 72, 316, 317, 75, 76, 257, 40,
- 44, 41, 394, 123, 40, 40, 256, 257, 40, 259,
- 260, 261, 41, 263, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, 309, 308, 306, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 308,
- 306, 44, 91, 303, 304, 41, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, 41, 44, 41, 319,
- 41, 59, 41, 41, 44, 256, 326, 327, 259, 260,
- 261, 44, 44, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 91, 325, 41, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 26, 296, 297, 298, 30, 269,
- 270, 271, 272, 304, 41, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 41, 41, 41, 319, 408,
- 59, 41, 54, 41, 41, 326, 327, 41, 41, 299,
- 300, 41, 41, 41, 41, 41, 68, 41, 41, 41,
- 59, 41, 299, 33, 301, 302, 316, 317, 318, 41,
- 40, 12, 90, 43, 59, 45, 326, 327, 59, 390,
- 92, 310, 94, 320, 321, 322, 323, -1, 325, 59,
- -1, 224, -1, -1, -1, -1, -1, -1, -1, 232,
- -1, -1, -1, -1, 116, -1, 239, -1, -1, -1,
- 122, 123, 124, 125, 126, 127, -1, -1, 130, 131,
- 132, 133, 134, -1, 299, 300, 301, 302, 140, -1,
- -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
- -1, -1, 43, -1, 45, 320, 321, 322, 323, -1,
- 325, -1, -1, 123, -1, -1, 126, -1, 59, -1,
- -1, -1, 174, 175, 176, 177, 178, 179, 180, 181,
- 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
- -1, 314, -1, -1, -1, -1, -1, 320, 321, -1,
- -1, 41, 325, -1, 44, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
- -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 368, -1, -1, -1, 33,
- -1, 253, 375, 93, -1, -1, 40, -1, -1, 43,
- -1, 45, -1, 265, -1, 267, -1, -1, -1, -1,
- -1, -1, 274, -1, 276, 398, 278, -1, 280, -1,
- 282, -1, 405, -1, 286, 125, -1, -1, -1, -1,
- 292, -1, -1, -1, -1, -1, 256, 257, -1, 259,
- 260, 261, -1, -1, 264, 265, 266, 267, 268, 269,
- 270, 271, 272, -1, 316, 317, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, -1, 296, 297, 298, 123,
- -1, 343, 126, -1, 304, -1, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, -1, -1, 38, 319,
- -1, -1, -1, -1, -1, 256, 326, 327, 259, 260,
- 261, 38, -1, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, -1, 63, -1, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, -1, 296, 297, 298, -1, -1,
- -1, -1, -1, 304, 94, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, -1, -1, 94, 319, 269,
- 270, 271, 272, -1, -1, 326, 327, -1, -1, -1,
- -1, -1, -1, 33, 124, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 257, -1, 259, 260, 261, -1, -1,
- 264, 265, 266, 267, 268, -1, 326, 327, -1, 38,
- -1, -1, 276, 277, -1, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, -1, 296, 297, 298, -1, -1, -1, -1, -1,
- 304, -1, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, -1, 123, 33, 319, 126, -1, -1, -1,
- -1, 40, 326, 327, 43, 94, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 33, 299,
- 300, 301, 302, -1, 123, 40, 41, 126, 43, -1,
- 45, -1, 299, 300, 301, 302, 316, 317, 318, -1,
- 320, 321, 322, 323, -1, 325, -1, -1, -1, -1,
- 317, 318, -1, 320, 321, 322, 323, -1, 325, 38,
- -1, -1, 41, -1, -1, 44, -1, 257, -1, 259,
- 260, 261, -1, -1, 264, 265, 266, 267, 268, -1,
- -1, -1, 61, -1, 63, -1, 276, 277, -1, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, -1, 296, 297, 298, -1,
- -1, 126, -1, -1, 304, 94, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, -1, -1, 33, 319,
- -1, -1, -1, -1, -1, 40, 326, 327, 43, -1,
- 45, -1, -1, -1, -1, 124, -1, -1, -1, -1,
- 299, 300, 301, 302, -1, -1, -1, -1, 257, -1,
- 259, 260, 261, -1, -1, 264, 265, 266, 267, 268,
- -1, 320, 321, 322, 323, -1, 325, 276, 277, -1,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, -1, 296, 297, 298,
- -1, -1, -1, -1, -1, 304, -1, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, -1, -1, -1,
- 319, 126, 33, -1, -1, -1, -1, 326, 327, 40,
- 41, -1, 43, -1, 45, -1, -1, 109, -1, 111,
- -1, 113, 257, 115, 259, 260, 261, -1, -1, 264,
- 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
- -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- -1, 296, 297, 298, -1, -1, -1, -1, -1, 304,
- -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, -1, -1, -1, 319, -1, -1, -1, -1, -1,
- -1, 326, 327, -1, -1, 126, -1, -1, 33, -1,
- 299, 300, 301, 302, -1, 40, 41, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, 326, 327, -1,
- -1, 256, 257, -1, 259, 260, 261, -1, -1, 264,
- 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
- -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- -1, 296, 297, 298, -1, -1, -1, -1, -1, 304,
- -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 126, -1, 33, 319, -1, -1, -1, -1, -1,
- 40, 326, 327, 43, -1, 45, -1, -1, -1, -1,
- 302, 303, 304, 305, -1, -1, -1, -1, -1, 311,
- -1, 61, -1, -1, -1, -1, 257, -1, 259, 260,
- 261, -1, -1, 264, 265, 266, 267, 268, -1, -1,
- -1, -1, -1, -1, -1, 276, 277, -1, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, -1, 296, 297, 298, -1, -1,
- -1, 363, -1, 304, -1, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, -1, 126, -1, 319, -1,
- 33, -1, 384, -1, -1, 326, 327, 40, -1, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 61, -1,
- -1, -1, 257, -1, 259, 260, 261, -1, -1, 264,
- 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
- -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- -1, 296, 297, 298, -1, -1, -1, -1, -1, 304,
- -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, -1, -1, 126, 319, -1, -1, 33, -1, -1,
- -1, 326, 327, -1, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 61, -1, 257, -1, 259,
- 260, 261, -1, -1, 264, 265, 266, 267, 268, -1,
- -1, -1, -1, -1, -1, -1, 276, 277, -1, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, -1, 296, 297, 298, -1,
- -1, -1, -1, -1, 304, -1, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, -1, -1, -1, 319,
- 126, 33, -1, -1, -1, -1, 326, 327, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
- -1, -1, -1, -1, 257, -1, 259, 260, 261, -1,
- -1, 264, 265, 266, 267, 268, -1, -1, -1, -1,
- -1, -1, -1, 276, 277, -1, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, -1, 296, 297, 298, -1, -1, -1, -1,
- -1, 304, -1, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, -1, 126, -1, 319, -1, 33, -1,
- -1, -1, -1, 326, 327, 40, -1, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 61, -1, -1, -1,
- -1, 257, -1, 259, 260, 261, -1, -1, 264, 265,
- 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
- 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
- 296, 297, 298, -1, -1, -1, -1, -1, 304, -1,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- -1, 126, 33, 319, -1, -1, -1, -1, -1, 40,
- 326, 327, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 61, -1, -1, -1, -1, 257, -1, 259, 260, 261,
- -1, -1, 264, 265, 266, 267, 268, -1, -1, -1,
- -1, -1, -1, -1, 276, 277, -1, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, -1, 296, 297, 298, -1, -1, -1,
- -1, -1, 304, -1, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, -1, 126, -1, 319, -1, 33,
- -1, -1, -1, -1, 326, 327, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
- -1, -1, 257, -1, 259, 260, 261, -1, -1, 264,
- 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
- -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- -1, 296, 297, 298, -1, -1, -1, -1, -1, 304,
- -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, -1, 126, 33, 319, -1, -1, -1, -1, -1,
- 40, 326, 327, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 61, -1, -1, -1, -1, 257, -1, 259, 260,
- 261, -1, -1, 264, 265, 266, 267, 268, -1, -1,
- -1, -1, -1, -1, -1, 276, 277, -1, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, -1, 296, 297, 298, -1, -1,
- -1, -1, -1, 304, -1, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, -1, 126, -1, 319, -1,
- 33, -1, -1, -1, -1, 326, 327, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 257, -1, 259, 260, 261, -1, -1,
- 264, 265, 266, 267, 268, -1, -1, -1, -1, -1,
- -1, -1, 276, 277, -1, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, -1, 296, 297, 298, -1, -1, -1, -1, -1,
- 304, -1, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, -1, 126, -1, 319, -1, 33, -1, -1,
- -1, -1, 326, 327, 40, 41, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 257, -1, 259,
- 260, 261, -1, -1, 264, 265, 266, 267, 268, -1,
- -1, -1, -1, -1, -1, -1, 276, 277, -1, 279,
- 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, -1, 296, 297, 298, -1,
- -1, -1, -1, -1, 304, -1, 306, 307, 308, 309,
- 310, 311, 312, 313, 314, 315, -1, -1, -1, 319,
- 126, 33, -1, -1, -1, -1, 326, 327, 40, 41,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, -1, 259, 260, 261, -1,
- -1, 264, 265, 266, 267, 268, -1, -1, -1, -1,
- -1, -1, -1, 276, 277, -1, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, -1, 296, 297, 298, -1, -1, -1, -1,
- -1, 304, -1, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, -1, 126, -1, 319, -1, 33, -1,
- -1, -1, -1, 326, 327, 40, 41, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, -1, 259, 260, 261, -1, -1, 264, 265,
- 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
- 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
- 296, 297, 298, -1, -1, -1, -1, -1, 304, -1,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- -1, 126, -1, 319, -1, 33, -1, -1, -1, -1,
- 326, 327, 40, 41, -1, 43, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, -1, 259, 260, 261,
- -1, -1, 264, 265, 266, 267, 268, -1, -1, -1,
- -1, -1, -1, -1, 276, 277, -1, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, -1, 296, 297, 298, -1, -1, -1,
- -1, -1, 304, -1, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, -1, -1, -1, 319, 126, 33,
- -1, -1, -1, -1, 326, 327, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, -1, 259, 260, 261, -1, -1, 264,
- 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
- -1, 276, 277, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- -1, 296, 297, 298, -1, -1, -1, -1, -1, 304,
- -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, -1, 126, -1, 319, -1, 33, -1, -1, -1,
- -1, 326, 327, 40, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
- -1, 259, 260, 261, -1, -1, 264, 265, 266, 267,
- 268, -1, -1, -1, -1, -1, -1, -1, 276, 277,
- -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
- 298, -1, -1, -1, -1, -1, 304, -1, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, -1, 126,
- 33, 319, -1, -1, -1, -1, -1, 40, 326, 327,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 257, -1, 259, 260, 261, -1, -1,
- 264, 265, 266, 267, 268, -1, -1, -1, -1, -1,
- -1, -1, 276, 277, -1, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
- 294, -1, 296, 297, 298, -1, -1, -1, -1, -1,
- 304, -1, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, -1, 126, -1, 319, -1, 33, -1, -1,
- -1, -1, 326, 327, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, -1, 259, 260, 261, -1, -1, 264, 265, 266,
- 267, 268, -1, -1, -1, -1, -1, -1, -1, 276,
- 277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
- 297, 298, -1, -1, -1, -1, -1, 304, -1, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, -1,
- 126, -1, 319, -1, -1, -1, -1, -1, -1, 326,
- 327, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, -1, 259, 260, 261, -1,
- -1, 264, 265, 266, 267, 268, 38, -1, -1, -1,
- -1, -1, -1, 276, 277, -1, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, -1, 296, 297, 298, -1, -1, -1, -1,
- -1, 304, -1, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, -1, -1, -1, 319, -1, -1, -1,
- -1, -1, 94, 326, 327, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 124, 259, 260, 261, -1, -1, 264, 265,
- 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
- 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
- 296, 297, 298, -1, -1, -1, -1, -1, 304, -1,
- 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- -1, 38, -1, 319, 41, -1, -1, 44, -1, -1,
- 326, 327, -1, 38, -1, -1, 41, -1, -1, 44,
- -1, 58, 59, -1, 61, -1, 63, -1, -1, 41,
- -1, -1, 44, 58, 59, -1, 61, -1, 63, -1,
- -1, -1, 41, -1, -1, 44, 58, 59, -1, 61,
- -1, -1, -1, -1, -1, -1, 93, 94, -1, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, 93, 94,
- -1, -1, 38, -1, -1, 41, -1, -1, 44, -1,
- -1, 93, -1, -1, -1, -1, -1, 124, 125, -1,
- -1, -1, 58, 59, 93, 61, -1, 63, -1, 124,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, 38,
- -1, -1, 41, 125, -1, 44, -1, 299, 300, 301,
- 302, -1, -1, -1, -1, -1, 125, 93, 94, 58,
- 59, -1, 61, -1, 63, -1, 318, -1, 320, 321,
- 322, 323, -1, 325, -1, -1, -1, -1, -1, -1,
- 38, -1, -1, 41, -1, -1, 44, -1, 124, 125,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
- 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 124, 125, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 38, -1, -1, -1,
- -1, -1, 269, 270, 271, 272, 124, 125, -1, -1,
- -1, -1, -1, -1, 269, 270, 271, 272, -1, 61,
- -1, 63, -1, -1, -1, -1, -1, 269, 270, 271,
- 272, -1, 299, 300, 301, 302, -1, -1, -1, -1,
- 269, 270, 271, 272, 299, 300, 301, 302, -1, 316,
- 317, 318, 94, 320, 321, 322, 323, -1, 325, 326,
- 327, 316, 317, 318, -1, 320, 321, 322, 323, -1,
- 325, 326, 327, 269, 270, 271, 272, -1, -1, -1,
- -1, -1, 124, -1, 326, 327, -1, 316, 317, 318,
- -1, -1, -1, -1, -1, -1, -1, 326, 327, -1,
- -1, -1, -1, 299, 300, 301, 302, -1, -1, -1,
- 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
- 316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
- 326, 327, -1, -1, -1, -1, -1, -1, -1, -1,
- 299, 300, 301, 302, -1, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, -1, -1, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, 326, 327, 38,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, -1, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, 325, 326, 327,
- 38, -1, -1, 41, -1, -1, 44, -1, -1, -1,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
- 58, 59, -1, 61, 41, 63, -1, 44, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,
- 41, 58, 59, 44, -1, 124, 125, 299, 300, 301,
- 302, -1, -1, -1, -1, 93, 94, 58, 59, -1,
- 61, -1, 63, -1, 316, 317, 318, -1, 320, 321,
- 322, 323, -1, 325, 38, -1, 93, 41, -1, -1,
- 44, -1, -1, -1, -1, -1, 124, 125, -1, -1,
- -1, -1, 93, 94, 58, 59, -1, 61, -1, 63,
- -1, 41, -1, -1, 44, -1, -1, -1, 125, -1,
- -1, 38, -1, -1, 41, -1, -1, 44, 58, 59,
- -1, -1, -1, 124, 125, -1, -1, -1, -1, 93,
- 94, 58, 59, -1, 61, -1, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 38,
- -1, -1, 41, 93, -1, 44, -1, -1, -1, -1,
- 124, 125, -1, -1, -1, -1, 93, 94, -1, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
- 269, 270, 271, 272, -1, -1, -1, 124, 125, -1,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 299, 300, 301, 302, -1, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, 124, 125, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, 326, 327, -1,
- -1, -1, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, 269, 270,
- 271, 272, -1, -1, -1, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, 325, 326, 327,
- -1, -1, -1, -1, -1, -1, -1, -1, 299, 300,
- 301, 302, -1, -1, -1, 269, 270, 271, 272, 326,
- 327, -1, -1, -1, -1, 316, 317, 318, -1, 320,
- 321, 322, 323, -1, 325, 326, 327, -1, -1, 269,
- 270, 271, 272, -1, -1, 299, 300, 301, 302, -1,
- -1, -1, 269, 270, 271, 272, -1, -1, -1, -1,
- -1, -1, 316, 317, 318, -1, 320, 321, 322, 323,
- -1, 325, 326, 327, -1, -1, -1, 41, -1, -1,
- 44, -1, 299, 300, 301, 302, -1, -1, -1, -1,
- 269, 270, 271, 272, 58, 59, 326, 327, -1, 316,
- 317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
- 327, 38, -1, -1, 41, -1, -1, 44, -1, -1,
- 299, 300, 301, 302, -1, -1, -1, -1, -1, 93,
- -1, 58, 59, -1, 61, -1, 63, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, 326, 327, 38,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, 125, -1, -1, -1, -1, 93, 94, -1, 58,
- 59, -1, 61, 41, 63, -1, 44, 41, -1, -1,
- 44, -1, -1, -1, -1, -1, 38, -1, -1, 41,
- 58, 59, -1, -1, 58, 59, -1, 124, 125, -1,
- -1, -1, -1, -1, 93, 94, 58, 59, -1, 61,
- -1, 63, -1, 41, -1, -1, 44, -1, -1, -1,
- -1, -1, -1, 38, -1, 93, 41, -1, -1, 93,
- 58, 59, -1, -1, -1, 124, 125, -1, -1, -1,
- -1, 93, 94, 58, 59, -1, 61, -1, 63, -1,
- 41, -1, -1, 44, -1, -1, -1, 125, -1, -1,
- 38, 125, -1, 41, -1, 93, -1, 58, 59, -1,
- -1, -1, 124, 125, -1, -1, -1, -1, 93, 94,
- 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 125, 38, -1,
- -1, 41, 93, -1, -1, 269, 270, 271, 272, 124,
- 125, -1, -1, -1, -1, 93, 94, -1, 58, 59,
- -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 125, -1, 38, -1, -1, -1,
- -1, -1, 269, 270, 271, 272, 124, 125, -1, -1,
- -1, -1, -1, 93, 94, -1, 58, -1, -1, 61,
- -1, 63, 326, 327, -1, -1, -1, -1, -1, -1,
- -1, -1, 299, 300, 301, 302, -1, -1, -1, -1,
- 269, 270, 271, 272, 124, 125, -1, -1, -1, 316,
- 317, 318, 94, 320, 321, 322, 323, -1, 325, 326,
- 327, 269, 270, 271, 272, 269, 270, 271, 272, -1,
- 299, 300, 301, 302, -1, -1, -1, 269, 270, 271,
- 272, -1, 124, -1, -1, -1, -1, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, 326, 327, -1,
- -1, 269, 270, 271, 272, -1, -1, 299, 300, 301,
- 302, -1, -1, -1, 269, 270, 271, 272, 326, 327,
- -1, -1, 326, 327, 316, 317, 318, -1, 320, 321,
- 322, 323, -1, 325, 326, 327, -1, -1, 269, 270,
- 271, 272, -1, -1, 299, 300, 301, 302, -1, -1,
- -1, 269, 270, 271, 272, -1, -1, -1, 326, 327,
- -1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
- 325, 326, 327, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, -1, 269,
- 270, 271, 272, -1, -1, 326, 327, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, 325, 326, 327,
- 38, -1, -1, 41, -1, -1, 44, -1, -1, 299,
- 300, 301, 302, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, -1, 61, -1, 63, 316, 317, 318, -1,
- 320, 321, 322, 323, -1, 325, 326, 327, 38, -1,
- -1, 41, -1, -1, 44, -1, -1, 299, 300, 301,
- 302, -1, -1, -1, -1, 93, 94, -1, 58, 59,
- -1, 61, -1, 63, 316, 317, 318, -1, 320, 321,
- 322, 323, -1, 325, -1, 38, -1, -1, 41, -1,
- -1, 44, -1, -1, -1, -1, 124, 125, -1, -1,
- -1, -1, -1, 93, 94, 58, 59, -1, 61, -1,
- 63, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, 38, -1, -1, 41, -1, -1, 44, 58,
- 59, -1, -1, -1, 124, 125, -1, -1, -1, -1,
- 93, 94, 58, 59, -1, 61, -1, 63, -1, -1,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, 38,
- -1, -1, 41, -1, 93, 44, -1, 58, 59, -1,
- -1, 124, 125, -1, -1, -1, -1, 93, 94, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, 38, -1, -1,
- 41, -1, 93, 44, -1, -1, -1, -1, 124, 125,
- -1, -1, -1, -1, 93, 94, -1, 58, 59, -1,
- 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, 124, 125, -1, -1, -1,
- -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, -1, 269,
- 270, 271, 272, 124, 125, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, -1, 326, 327,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 299,
- 300, 301, 302, -1, -1, -1, 269, 270, 271, 272,
- -1, -1, -1, -1, -1, -1, 316, 317, 318, -1,
- 320, 321, 322, 323, -1, -1, 326, 327, -1, -1,
- 269, 270, 271, 272, -1, -1, 299, 300, 301, 302,
- -1, -1, -1, 269, 270, 271, 272, -1, -1, -1,
- -1, -1, -1, 316, 317, 318, -1, 320, 321, 322,
- 323, 38, -1, 326, 327, -1, -1, 44, 269, 270,
- 271, 272, -1, 299, 300, 301, 302, -1, -1, -1,
- 269, 270, 271, 272, 61, -1, 63, 326, 327, -1,
- 316, 317, 318, -1, 320, 321, -1, -1, -1, -1,
- 326, 327, -1, -1, -1, -1, -1, -1, -1, -1,
- 299, 300, -1, 302, -1, -1, -1, 94, 269, 270,
- 271, 272, -1, -1, -1, 326, 327, 316, 317, 318,
- 38, 320, 321, 41, -1, -1, 44, 326, 327, -1,
- -1, -1, -1, -1, -1, -1, -1, 124, 299, 300,
- 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 316, 317, 318, 38, 320,
- 321, 41, -1, -1, 44, 326, 327, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, -1, 58, 59,
- -1, 61, 41, 63, -1, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, 41, 38, -1, 44, 41, 58,
- 59, 44, -1, -1, -1, -1, 124, 125, -1, -1,
- -1, 58, 59, 93, 94, 58, 59, -1, 61, -1,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 38, -1, 93, 41, -1, -1, 44, -1,
- -1, -1, -1, -1, 124, 125, 93, -1, -1, -1,
- 93, 94, 58, 59, -1, 61, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, 125, -1, -1, 38,
- -1, -1, 41, -1, -1, 44, -1, -1, 125, -1,
- -1, 124, 125, -1, -1, -1, -1, 93, 94, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 299, 300, 301, 302, -1, -1, 124, 125,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, 316,
- 317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
- 327, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, 124, 125, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, 300, -1, -1, -1, -1, -1, -1, 269,
- 270, 271, 272, -1, -1, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, -1, -1, -1, -1, 326, 327,
- 269, 270, 271, 272, -1, -1, -1, -1, -1, 299,
- 300, -1, 269, 270, 271, 272, 269, 270, 271, 272,
- -1, -1, -1, -1, -1, -1, 316, 317, 318, -1,
- -1, -1, -1, -1, -1, -1, 326, 327, -1, -1,
- -1, -1, -1, -1, -1, -1, 299, 300, -1, -1,
- -1, -1, -1, 269, 270, 271, 272, 326, 327, -1,
- -1, -1, -1, 316, 317, 318, -1, -1, -1, 326,
- 327, -1, -1, 326, 327, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 300, -1, -1, -1, -1, -1,
- 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
- 316, 317, 318, 38, -1, -1, 41, -1, -1, 44,
- 326, 327, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, 316, 317, 318,
- 38, -1, -1, 41, -1, -1, 44, 326, 327, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
- 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, 124,
- 125, -1, -1, -1, -1, 93, 94, 58, 59, -1,
- 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 38, -1, -1, 41, -1, -1,
- 44, -1, -1, -1, -1, -1, 124, 125, -1, -1,
- -1, -1, 93, 94, 58, 59, -1, 61, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 38, -1, -1, 41, -1, -1, 44, -1,
- -1, -1, -1, 124, 125, -1, -1, -1, -1, 93,
- 94, -1, 58, 59, -1, 61, -1, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 38,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- 124, 125, -1, -1, -1, -1, -1, 93, 94, 58,
- 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 269, 270, 271, 272, 124, 125,
- -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, 124, 125, -1, -1, -1,
- -1, 316, 317, 318, -1, -1, -1, -1, -1, -1,
- -1, 326, 327, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, 269, 270,
- 271, 272, -1, -1, -1, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, 325, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 299, 300,
- 301, 302, -1, -1, -1, 269, 270, 271, 272, -1,
- -1, -1, -1, -1, -1, 316, 317, 318, -1, 320,
- 321, 322, 323, -1, 325, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 299, 300, 301, 302, -1,
- -1, -1, -1, 269, 270, 271, 272, -1, -1, -1,
- -1, -1, 316, 317, 318, -1, 320, 321, 322, 323,
- -1, 325, -1, -1, 38, -1, -1, 41, -1, -1,
- 44, -1, -1, 299, 300, 301, 302, -1, -1, -1,
- 269, 270, 271, 272, 58, 59, -1, 61, -1, 63,
- 316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
- -1, 38, -1, -1, 41, -1, -1, 44, -1, -1,
- 299, 300, 301, 302, -1, -1, -1, -1, -1, 93,
- 94, 58, 59, -1, 61, -1, 63, 316, 317, 318,
- -1, 320, 321, 322, 323, -1, 325, -1, 38, -1,
- -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
- 124, 125, -1, -1, -1, -1, 93, 94, 58, 59,
- -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 38, -1, -1, 41, -1,
- -1, 44, -1, -1, -1, -1, -1, 124, 125, -1,
- -1, -1, -1, 93, 94, 58, 59, -1, 61, -1,
- 63, -1, -1, 38, -1, -1, 41, -1, -1, 44,
- -1, -1, -1, 38, -1, -1, 41, -1, -1, 44,
- -1, -1, -1, -1, 124, 125, 61, -1, 63, -1,
- 93, 94, -1, 58, 59, -1, 61, -1, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 38, -1, -1, -1, -1, -1, 44, -1, -1, 94,
- -1, 124, 125, -1, -1, -1, -1, -1, 93, 94,
- -1, -1, -1, 61, -1, 63, -1, -1, -1, -1,
- -1, -1, 38, -1, -1, -1, -1, -1, 44, 124,
- -1, -1, -1, -1, -1, 269, 270, 271, 272, 124,
- 125, -1, -1, -1, -1, 61, 94, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 299, 300, 301, 302, -1,
- -1, -1, 269, 270, 271, 272, 124, -1, 94, -1,
- -1, -1, 316, 317, 318, -1, 320, 321, 322, 323,
- -1, 325, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 299, 300, 301, 302, -1, -1, 124, 269,
- 270, 271, 272, -1, -1, -1, -1, -1, -1, 316,
- 317, 318, -1, 320, 321, 322, 323, -1, 325, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 299,
- 300, 301, 302, -1, -1, -1, 269, 270, 271, 272,
- -1, -1, -1, -1, -1, -1, 316, 317, 318, -1,
- 320, 321, 322, 323, -1, 325, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 299, 300, 301, 302,
- -1, -1, -1, -1, 269, 270, 271, 272, -1, -1,
- -1, -1, -1, 316, 317, 318, -1, 320, 321, 322,
- 323, 33, 325, -1, 299, 300, 301, 302, 40, -1,
- -1, 43, -1, 45, 299, 300, 301, 302, -1, -1,
- -1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
- 325, 316, 317, 318, -1, 320, 321, 322, 323, -1,
- 325, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, 300, 301, 302, -1, -1, -1, -1, 91,
- -1, -1, -1, -1, -1, -1, -1, -1, 316, 317,
- 318, -1, 320, 321, 322, 323, -1, 325, -1, -1,
- -1, -1, -1, 299, 300, 301, 302, -1, -1, -1,
- -1, 123, -1, 41, 126, -1, 44, -1, -1, -1,
- 316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
- 58, 59, -1, 61, 41, 63, -1, 44, -1, -1,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, -1, 61, -1, 63, 58, 59, -1,
- 61, -1, 63, -1, -1, 93, 94, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
- -1, -1, 93, -1, -1, -1, 124, 125, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 124, 125, -1,
- -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, -1, 259, 260, 261,
- -1, -1, 264, 265, 266, 267, 268, -1, -1, -1,
- -1, -1, -1, -1, 276, 277, -1, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, -1, 296, 297, 298, -1, -1, -1,
- -1, -1, 304, -1, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, -1, -1, -1, 319, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 269, 270, 271, 272, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 269, 270, 271, 272, -1, -1, 269, 270,
- 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 67, -1, 316, 317,
- 318, -1, 73, -1, -1, -1, -1, -1, 326, 327,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 316,
- 317, 318, -1, -1, -1, 316, 317, -1, -1, 326,
- 327, -1, -1, -1, -1, 326, 327, 108, -1, 110,
- -1, 112, -1, 114, -1, -1, 117, -1, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 129, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 143, -1, -1, -1, 147, 148, 149, 150,
- 151, 152, 153, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 170,
- 171, 172, 173, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 202, 203, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 218, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 241, 242, 243, -1, -1, -1, -1, -1, -1, -1,
- 251, -1, -1, -1, -1, 256, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 310,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 339,
- };
- #define YYFINAL 1
- #ifndef YYDEBUG
- #define YYDEBUG 0
- #endif
- #define YYMAXTOKEN 327
- #if YYDEBUG
- char *yyname[] = {
- "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- "'!'",0,0,0,0,"'&'",0,"'('","')'",0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,
- "':'","';'",0,"'='",0,"'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- "'{'","'|'","'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","APPEND","OPEN","SSELECT",
- "LOOPEX","USING","FORMAT","DO","SHIFT","PUSH","POP","LVALFUN","WHILE","UNTIL",
- "IF","UNLESS","ELSE","ELSIF","CONTINUE","SPLIT","FLIST","FOR","FILOP","FILOP2",
- "FILOP3","FILOP4","FILOP22","FILOP25","FUNC0","FUNC1","FUNC2","FUNC2x","FUNC3",
- "FUNC4","FUNC5","HSHFUN","HSHFUN3","FLIST2","SUB","FILETEST","LOCAL","DELETE",
- "RELOP","EQOP","MULOP","ADDOP","PACKAGE","AMPER","FORMLIST","REG","ARYLEN",
- "ARY","HSH","STAR","SUBST","PATTERN","RSTRING","TRANS","LISTOP","DOTDOT","OROR",
- "ANDAND","UNIOP","LS","RS","MATCH","NMATCH","UMINUS","POW","INC","DEC",
- };
- char *yyrule[] = {
- "$accept : prog",
- "$$1 :",
- "prog : $$1 lineseq",
- "compblock : block CONTINUE block",
- "compblock : block else",
- "else :",
- "else : ELSE block",
- "else : ELSIF '(' expr ')' compblock",
- "block : '{' remember lineseq '}'",
- "remember :",
- "lineseq :",
- "lineseq : lineseq line",
- "line : decl",
- "line : label cond",
- "line : loop",
- "line : label ';'",
- "line : label sideff ';'",
- "sideff : error",
- "sideff : expr",
- "sideff : expr IF expr",
- "sideff : expr UNLESS expr",
- "sideff : expr WHILE expr",
- "sideff : expr UNTIL expr",
- "cond : IF '(' expr ')' compblock",
- "cond : UNLESS '(' expr ')' compblock",
- "cond : IF block compblock",
- "cond : UNLESS block compblock",
- "loop : label WHILE '(' texpr ')' compblock",
- "loop : label UNTIL '(' expr ')' compblock",
- "loop : label WHILE block compblock",
- "loop : label UNTIL block compblock",
- "loop : label FOR REG '(' expr crp compblock",
- "loop : label FOR '(' expr crp compblock",
- "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
- "loop : label compblock",
- "nexpr :",
- "nexpr : sideff",
- "texpr :",
- "texpr : expr",
- "label :",
- "label : WORD ':'",
- "decl : format",
- "decl : subrout",
- "decl : package",
- "format : FORMAT WORD '=' FORMLIST",
- "format : FORMAT '=' FORMLIST",
- "subrout : SUB WORD block",
- "package : PACKAGE WORD ';'",
- "cexpr : ',' expr",
- "expr : expr ',' sexpr",
- "expr : sexpr",
- "csexpr : ',' sexpr",
- "sexpr : sexpr '=' sexpr",
- "sexpr : sexpr POW '=' sexpr",
- "sexpr : sexpr MULOP '=' sexpr",
- "sexpr : sexpr ADDOP '=' sexpr",
- "sexpr : sexpr LS '=' sexpr",
- "sexpr : sexpr RS '=' sexpr",
- "sexpr : sexpr '&' '=' sexpr",
- "sexpr : sexpr '^' '=' sexpr",
- "sexpr : sexpr '|' '=' sexpr",
- "sexpr : sexpr POW sexpr",
- "sexpr : sexpr MULOP sexpr",
- "sexpr : sexpr ADDOP sexpr",
- "sexpr : sexpr LS sexpr",
- "sexpr : sexpr RS sexpr",
- "sexpr : sexpr RELOP sexpr",
- "sexpr : sexpr EQOP sexpr",
- "sexpr : sexpr '&' sexpr",
- "sexpr : sexpr '^' sexpr",
- "sexpr : sexpr '|' sexpr",
- "sexpr : sexpr DOTDOT sexpr",
- "sexpr : sexpr ANDAND sexpr",
- "sexpr : sexpr OROR sexpr",
- "sexpr : sexpr '?' sexpr ':' sexpr",
- "sexpr : sexpr MATCH sexpr",
- "sexpr : sexpr NMATCH sexpr",
- "sexpr : term",
- "term : '-' term",
- "term : '+' term",
- "term : '!' term",
- "term : '~' term",
- "term : term INC",
- "term : term DEC",
- "term : INC term",
- "term : DEC term",
- "term : FILETEST WORD",
- "term : FILETEST sexpr",
- "term : FILETEST",
- "term : LOCAL '(' expr crp",
- "term : '(' expr crp",
- "term : '(' ')'",
- "term : DO sexpr",
- "term : DO block",
- "term : REG",
- "term : STAR",
- "term : REG '[' expr ']'",
- "term : HSH",
- "term : ARY",
- "term : REG '{' expr '}'",
- "term : '(' expr crp '[' expr ']'",
- "term : '(' ')' '[' expr ']'",
- "term : ARY '[' expr ']'",
- "term : ARY '{' expr '}'",
- "term : DELETE REG '{' expr '}'",
- "term : ARYLEN",
- "term : RSTRING",
- "term : PATTERN",
- "term : SUBST",
- "term : TRANS",
- "term : DO WORD '(' expr crp",
- "term : AMPER WORD '(' expr crp",
- "term : DO WORD '(' ')'",
- "term : AMPER WORD '(' ')'",
- "term : AMPER WORD",
- "term : DO REG '(' expr crp",
- "term : AMPER REG '(' expr crp",
- "term : DO REG '(' ')'",
- "term : AMPER REG '(' ')'",
- "term : AMPER REG",
- "term : LOOPEX",
- "term : LOOPEX WORD",
- "term : UNIOP",
- "term : UNIOP block",
- "term : UNIOP sexpr",
- "term : SSELECT",
- "term : SSELECT WORD",
- "term : SSELECT '(' handle ')'",
- "term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
- "term : OPEN WORD",
- "term : OPEN '(' WORD ')'",
- "term : OPEN '(' handle cexpr ')'",
- "term : FILOP '(' handle ')'",
- "term : FILOP WORD",
- "term : FILOP REG",
- "term : FILOP '(' ')'",
- "term : FILOP",
- "term : FILOP2 '(' handle cexpr ')'",
- "term : FILOP3 '(' handle csexpr cexpr ')'",
- "term : FILOP22 '(' handle ',' handle ')'",
- "term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
- "term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
- "term : PUSH '(' aryword ',' expr crp",
- "term : POP aryword",
- "term : POP '(' aryword ')'",
- "term : SHIFT aryword",
- "term : SHIFT '(' aryword ')'",
- "term : SHIFT",
- "term : SPLIT",
- "term : SPLIT '(' sexpr csexpr csexpr ')'",
- "term : SPLIT '(' sexpr csexpr ')'",
- "term : SPLIT '(' sexpr ')'",
- "term : FLIST2 '(' sexpr cexpr ')'",
- "term : FLIST '(' expr crp",
- "term : LVALFUN sexpr",
- "term : LVALFUN",
- "term : FUNC0",
- "term : FUNC0 '(' ')'",
- "term : FUNC1 '(' ')'",
- "term : FUNC1 '(' expr ')'",
- "term : FUNC2 '(' sexpr cexpr ')'",
- "term : FUNC2x '(' sexpr csexpr ')'",
- "term : FUNC2x '(' sexpr csexpr cexpr ')'",
- "term : FUNC3 '(' sexpr csexpr cexpr ')'",
- "term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
- "term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
- "term : HSHFUN '(' hshword ')'",
- "term : HSHFUN hshword",
- "term : HSHFUN3 '(' hshword csexpr cexpr ')'",
- "term : bareword",
- "term : listop",
- "listop : LISTOP",
- "listop : LISTOP expr",
- "listop : LISTOP WORD",
- "listop : LISTOP WORD expr",
- "listop : LISTOP REG expr",
- "listop : LISTOP block expr",
- "handle : WORD",
- "handle : sexpr",
- "aryword : WORD",
- "aryword : ARY",
- "hshword : WORD",
- "hshword : HSH",
- "crp : ',' ')'",
- "crp : ')'",
- "bareword : WORD",
- };
- #endif
- #define yyclearin (yychar=(-1))
- #define yyerrok (yyerrflag=0)
- #ifdef YYSTACKSIZE
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH YYSTACKSIZE
- #endif
- #else
- #ifdef YYMAXDEPTH
- #define YYSTACKSIZE YYMAXDEPTH
- #else
- #define YYSTACKSIZE 500
- #define YYMAXDEPTH 500
- #endif
- #endif
- int yydebug;
- int yynerrs;
- int yyerrflag;
- int yychar;
- short *yyssp;
- YYSTYPE *yyvsp;
- YYSTYPE yyval;
- YYSTYPE yylval;
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 828 ":perly.y"
- /* PROGRAM */
- #line 1871 "y.tab.c"
- #define YYABORT goto yyabort
- #define YYACCEPT goto yyaccept
- #define YYERROR goto yyerrlab
- int
- yyparse()
- {
- register int yym, yyn, yystate;
- #if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
- #endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
- yyloop:
- if (yyn = yydefred[yystate]) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, reading %d (%s)\n", yystate,
- yychar, yys);
- }
- #endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, shifting to state %d\n",
- yystate, yytable[yyn]);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
- #ifdef lint
- goto yynewerror;
- #endif
- yynewerror:
- yyerror("syntax error");
- #ifdef lint
- goto yyerrlab;
- #endif
- yyerrlab:
- ++yynerrs;
- yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
- #endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, error recovery discards token %d (%s)\n",
- yystate, yychar, yys);
- }
- #endif
- yychar = (-1);
- goto yyloop;
- }
- yyreduce:
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, reducing by rule %d (%s)\n",
- yystate, yyn, yyrule[yyn]);
- #endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
- case 1:
- #line 95 ":perly.y"
- {
- #if defined(YYDEBUG) && defined(DEBUGGING)
- yydebug = (debug & 1);
- #endif
- }
- break;
- case 2:
- #line 101 ":perly.y"
- { if (in_eval)
- eval_root = block_head(yyvsp[0].cmdval);
- else
- main_root = block_head(yyvsp[0].cmdval); }
- break;
- case 3:
- #line 108 ":perly.y"
- { yyval.compval.comp_true = yyvsp[-2].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
- break;
- case 4:
- #line 110 ":perly.y"
- { yyval.compval.comp_true = yyvsp[-1].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
- break;
- case 5:
- #line 114 ":perly.y"
- { yyval.cmdval = Nullcmd; }
- break;
- case 6:
- #line 116 ":perly.y"
- { yyval.cmdval = yyvsp[0].cmdval; }
- break;
- case 7:
- #line 118 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- yyval.cmdval = make_ccmd(C_ELSIF,yyvsp[-2].arg,yyvsp[0].compval); }
- break;
- case 8:
- #line 123 ":perly.y"
- { yyval.cmdval = block_head(yyvsp[-1].cmdval);
- if (cmdline > yyvsp[-3].ival)
- cmdline = yyvsp[-3].ival;
- if (savestack->ary_fill > yyvsp[-2].ival)
- restorelist(yyvsp[-2].ival); }
- break;
- case 9:
- #line 131 ":perly.y"
- { yyval.ival = savestack->ary_fill; }
- break;
- case 10:
- #line 135 ":perly.y"
- { yyval.cmdval = Nullcmd; }
- break;
- case 11:
- #line 137 ":perly.y"
- { yyval.cmdval = append_line(yyvsp[-1].cmdval,yyvsp[0].cmdval); }
- break;
- case 12:
- #line 141 ":perly.y"
- { yyval.cmdval = Nullcmd; }
- break;
- case 13:
- #line 143 ":perly.y"
- { yyval.cmdval = add_label(yyvsp[-1].cval,yyvsp[0].cmdval); }
- break;
- case 15:
- #line 146 ":perly.y"
- { if (yyvsp[-1].cval != Nullch) {
- yyval.cmdval = add_label(yyvsp[-1].cval, make_acmd(C_EXPR, Nullstab,
- Nullarg, Nullarg) );
- }
- else {
- yyval.cmdval = Nullcmd;
- cmdline = NOLINE;
- } }
- break;
- case 16:
- #line 155 ":perly.y"
- { yyval.cmdval = add_label(yyvsp[-2].cval,yyvsp[-1].cmdval); }
- break;
- case 17:
- #line 159 ":perly.y"
- { yyval.cmdval = Nullcmd; }
- break;
- case 18:
- #line 161 ":perly.y"
- { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yyvsp[0].arg, Nullarg); }
- break;
- case 19:
- #line 163 ":perly.y"
- { yyval.cmdval = addcond(
- make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
- break;
- case 20:
- #line 166 ":perly.y"
- { yyval.cmdval = addcond(invert(
- make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
- break;
- case 21:
- #line 169 ":perly.y"
- { yyval.cmdval = addloop(
- make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
- break;
- case 22:
- #line 172 ":perly.y"
- { yyval.cmdval = addloop(invert(
- make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
- break;
- case 23:
- #line 177 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- yyval.cmdval = make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval); }
- break;
- case 24:
- #line 180 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- yyval.cmdval = invert(make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval)); }
- break;
- case 25:
- #line 183 ":perly.y"
- { cmdline = yyvsp[-2].ival;
- yyval.cmdval = make_ccmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval); }
- break;
- case 26:
- #line 186 ":perly.y"
- { cmdline = yyvsp[-2].ival;
- yyval.cmdval = invert(make_ccmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)); }
- break;
- case 27:
- #line 191 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
- make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )); }
- break;
- case 28:
- #line 195 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
- invert(make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval)) )); }
- break;
- case 29:
- #line 199 ":perly.y"
- { cmdline = yyvsp[-2].ival;
- yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
- make_ccmd(C_WHILE, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval) )); }
- break;
- case 30:
- #line 203 ":perly.y"
- { cmdline = yyvsp[-2].ival;
- yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
- invert(make_ccmd(C_WHILE, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)) )); }
- break;
- case 31:
- #line 207 ":perly.y"
- { cmdline = yyvsp[-5].ival;
- /*
- * The following gobbledygook catches EXPRs that
- * aren't explicit array refs and translates
- * foreach VAR (EXPR) {
- * into
- * @ary = EXPR;
- * foreach VAR (@ary) {
- * where @ary is a hidden array made by genstab().
- * (Note that @ary may become a local array if
- * it is determined that it might be called
- * recursively. See cmd_tosave().)
- */
- if (yyvsp[-2].arg->arg_type != O_ARRAY) {
- scrstab = aadd(genstab());
- yyval.cmdval = append_line(
- make_acmd(C_EXPR, Nullstab,
- l(make_op(O_ASSIGN,2,
- listish(make_op(O_ARRAY, 1,
- stab2arg(A_STAB,scrstab),
- Nullarg,Nullarg )),
- listish(make_list(yyvsp[-2].arg)),
- Nullarg)),
- Nullarg),
- wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
- make_ccmd(C_WHILE,
- make_op(O_ARRAY, 1,
- stab2arg(A_STAB,scrstab),
- Nullarg,Nullarg ),
- yyvsp[0].compval)))));
- yyval.cmdval->c_line = yyvsp[-5].ival;
- yyval.cmdval->c_head->c_line = yyvsp[-5].ival;
- }
- else {
- yyval.cmdval = wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
- make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )));
- }
- }
- break;
- case 32:
- #line 246 ":perly.y"
- { cmdline = yyvsp[-4].ival;
- if (yyvsp[-2].arg->arg_type != O_ARRAY) {
- scrstab = aadd(genstab());
- yyval.cmdval = append_line(
- make_acmd(C_EXPR, Nullstab,
- l(make_op(O_ASSIGN,2,
- listish(make_op(O_ARRAY, 1,
- stab2arg(A_STAB,scrstab),
- Nullarg,Nullarg )),
- listish(make_list(yyvsp[-2].arg)),
- Nullarg)),
- Nullarg),
- wopt(over(defstab,add_label(yyvsp[-5].cval,
- make_ccmd(C_WHILE,
- make_op(O_ARRAY, 1,
- stab2arg(A_STAB,scrstab),
- Nullarg,Nullarg ),
- yyvsp[0].compval)))));
- yyval.cmdval->c_line = yyvsp[-4].ival;
- yyval.cmdval->c_head->c_line = yyvsp[-4].ival;
- }
- else { /* lisp, anyone? */
- yyval.cmdval = wopt(over(defstab,add_label(yyvsp[-5].cval,
- make_ccmd(C_WHILE,yyvsp[-2].arg,yyvsp[0].compval) )));
- }
- }
- break;
- case 33:
- #line 274 ":perly.y"
- { yyval.compval.comp_true = yyvsp[0].cmdval;
- yyval.compval.comp_alt = yyvsp[-2].cmdval;
- cmdline = yyvsp[-8].ival;
- yyval.cmdval = append_line(yyvsp[-6].cmdval,wopt(add_label(yyvsp[-9].cval,
- make_ccmd(C_WHILE,yyvsp[-4].arg,yyval.compval) ))); }
- break;
- case 34:
- #line 280 ":perly.y"
- { yyval.cmdval = add_label(yyvsp[-1].cval,make_ccmd(C_BLOCK,Nullarg,yyvsp[0].compval)); }
- break;
- case 35:
- #line 284 ":perly.y"
- { yyval.cmdval = Nullcmd; }
- break;
- case 37:
- #line 289 ":perly.y"
- { (void)scanstr("1"); yyval.arg = yylval.arg; }
- break;
- case 39:
- #line 294 ":perly.y"
- { yyval.cval = Nullch; }
- break;
- case 41:
- #line 299 ":perly.y"
- { yyval.ival = 0; }
- break;
- case 42:
- #line 301 ":perly.y"
- { yyval.ival = 0; }
- break;
- case 43:
- #line 303 ":perly.y"
- { yyval.ival = 0; }
- break;
- case 44:
- #line 307 ":perly.y"
- { if (strEQ(yyvsp[-2].cval,"stdout"))
- make_form(stabent("STDOUT",TRUE),yyvsp[0].formval);
- else if (strEQ(yyvsp[-2].cval,"stderr"))
- make_form(stabent("STDERR",TRUE),yyvsp[0].formval);
- else
- make_form(stabent(yyvsp[-2].cval,TRUE),yyvsp[0].formval);
- Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch; }
- break;
- case 45:
- #line 315 ":perly.y"
- { make_form(stabent("STDOUT",TRUE),yyvsp[0].formval); }
- break;
- case 46:
- #line 319 ":perly.y"
- { make_sub(yyvsp[-1].cval,yyvsp[0].cmdval);
- cmdline = NOLINE;
- if (savestack->ary_fill > yyvsp[-2].ival)
- restorelist(yyvsp[-2].ival); }
- break;
- case 47:
- #line 326 ":perly.y"
- { char tmpbuf[256];
- STAB *tmpstab;
-
- savehptr(&curstash);
- saveitem(curstname);
- str_set(curstname,yyvsp[-1].cval);
- sprintf(tmpbuf,"'_%s",yyvsp[-1].cval);
- tmpstab = stabent(tmpbuf,TRUE);
- if (!stab_xhash(tmpstab))
- stab_xhash(tmpstab) = hnew(0);
- curstash = stab_xhash(tmpstab);
- if (!curstash->tbl_name)
- curstash->tbl_name = savestr(yyvsp[-1].cval);
- curstash->tbl_coeffsize = 0;
- Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
- cmdline = NOLINE;
- }
- break;
- case 48:
- #line 346 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 49:
- #line 350 ":perly.y"
- { yyval.arg = make_op(O_COMMA, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 51:
- #line 355 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 52:
- #line 359 ":perly.y"
- { yyvsp[-2].arg = listish(yyvsp[-2].arg);
- if (yyvsp[-2].arg->arg_type == O_ASSIGN && yyvsp[-2].arg->arg_len == 1)
- yyvsp[-2].arg->arg_type = O_ITEM; /* a local() */
- if (yyvsp[-2].arg->arg_type == O_LIST)
- yyvsp[0].arg = listish(yyvsp[0].arg);
- yyval.arg = l(make_op(O_ASSIGN, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 53:
- #line 366 ":perly.y"
- { yyval.arg = l(make_op(O_POW, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 54:
- #line 368 ":perly.y"
- { yyval.arg = l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 55:
- #line 370 ":perly.y"
- { yyval.arg = rcatmaybe(l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)));}
- break;
- case 56:
- #line 372 ":perly.y"
- { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 57:
- #line 374 ":perly.y"
- { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 58:
- #line 376 ":perly.y"
- { yyval.arg = l(make_op(O_BIT_AND, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 59:
- #line 378 ":perly.y"
- { yyval.arg = l(make_op(O_XOR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 60:
- #line 380 ":perly.y"
- { yyval.arg = l(make_op(O_BIT_OR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
- break;
- case 61:
- #line 384 ":perly.y"
- { yyval.arg = make_op(O_POW, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 62:
- #line 386 ":perly.y"
- { if (yyvsp[-1].ival == O_REPEAT)
- yyvsp[-2].arg = listish(yyvsp[-2].arg);
- yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
- if (yyvsp[-1].ival == O_REPEAT) {
- if (yyval.arg[1].arg_type != A_EXPR ||
- yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
- yyval.arg[1].arg_flags &= ~AF_ARYOK;
- } }
- break;
- case 63:
- #line 395 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 64:
- #line 397 ":perly.y"
- { yyval.arg = make_op(O_LEFT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 65:
- #line 399 ":perly.y"
- { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 66:
- #line 401 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 67:
- #line 403 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 68:
- #line 405 ":perly.y"
- { yyval.arg = make_op(O_BIT_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 69:
- #line 407 ":perly.y"
- { yyval.arg = make_op(O_XOR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 70:
- #line 409 ":perly.y"
- { yyval.arg = make_op(O_BIT_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 71:
- #line 411 ":perly.y"
- { arg4 = Nullarg;
- yyval.arg = make_op(O_F_OR_R, 4, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 72:
- #line 414 ":perly.y"
- { yyval.arg = make_op(O_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 73:
- #line 416 ":perly.y"
- { yyval.arg = make_op(O_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
- break;
- case 74:
- #line 418 ":perly.y"
- { yyval.arg = make_op(O_COND_EXPR, 3, yyvsp[-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
- break;
- case 75:
- #line 420 ":perly.y"
- { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg, yyvsp[0].arg); }
- break;
- case 76:
- #line 422 ":perly.y"
- { yyval.arg = mod_match(O_NMATCH, yyvsp[-2].arg, yyvsp[0].arg); }
- break;
- case 77:
- #line 424 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 78:
- #line 428 ":perly.y"
- { yyval.arg = make_op(O_NEGATE, 1, yyvsp[0].arg, Nullarg, Nullarg); }
- break;
- case 79:
- #line 430 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 80:
- #line 432 ":perly.y"
- { yyval.arg = make_op(O_NOT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
- break;
- case 81:
- #line 434 ":perly.y"
- { yyval.arg = make_op(O_COMPLEMENT, 1, yyvsp[0].arg, Nullarg, Nullarg);}
- break;
- case 82:
- #line 436 ":perly.y"
- { yyval.arg = addflags(1, AF_POST|AF_UP,
- l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
- break;
- case 83:
- #line 439 ":perly.y"
- { yyval.arg = addflags(1, AF_POST,
- l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
- break;
- case 84:
- #line 442 ":perly.y"
- { yyval.arg = addflags(1, AF_PRE|AF_UP,
- l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
- break;
- case 85:
- #line 445 ":perly.y"
- { yyval.arg = addflags(1, AF_PRE,
- l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
- break;
- case 86:
- #line 448 ":perly.y"
- { opargs[yyvsp[-1].ival] = 0; /* force it special */
- yyval.arg = make_op(yyvsp[-1].ival, 1,
- stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
- Nullarg, Nullarg);
- }
- break;
- case 87:
- #line 454 ":perly.y"
- { opargs[yyvsp[-1].ival] = 1;
- yyval.arg = make_op(yyvsp[-1].ival, 1, yyvsp[0].arg, Nullarg, Nullarg); }
- break;
- case 88:
- #line 457 ":perly.y"
- { opargs[yyvsp[0].ival] = (yyvsp[0].ival != O_FTTTY);
- yyval.arg = make_op(yyvsp[0].ival, 1,
- stab2arg(A_STAB,
- yyvsp[0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
- Nullarg, Nullarg); }
- break;
- case 89:
- #line 463 ":perly.y"
- { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
- localize(listish(make_list(yyvsp[-1].arg))),
- Nullarg,Nullarg))); }
- break;
- case 90:
- #line 467 ":perly.y"
- { yyval.arg = make_list(yyvsp[-1].arg); }
- break;
- case 91:
- #line 469 ":perly.y"
- { yyval.arg = make_list(Nullarg); }
- break;
- case 92:
- #line 471 ":perly.y"
- { yyval.arg = make_op(O_DOFILE,2,yyvsp[0].arg,Nullarg,Nullarg);
- allstabs = TRUE;}
- break;
- case 93:
- #line 474 ":perly.y"
- { yyval.arg = cmd_to_arg(yyvsp[0].cmdval); }
- break;
- case 94:
- #line 476 ":perly.y"
- { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
- break;
- case 95:
- #line 478 ":perly.y"
- { yyval.arg = stab2arg(A_STAR,yyvsp[0].stabval); }
- break;
- case 96:
- #line 480 ":perly.y"
- { yyval.arg = make_op(O_AELEM, 2,
- stab2arg(A_STAB,aadd(yyvsp[-3].stabval)), yyvsp[-1].arg, Nullarg); }
- break;
- case 97:
- #line 483 ":perly.y"
- { yyval.arg = make_op(O_HASH, 1,
- stab2arg(A_STAB,yyvsp[0].stabval),
- Nullarg, Nullarg); }
- break;
- case 98:
- #line 487 ":perly.y"
- { yyval.arg = make_op(O_ARRAY, 1,
- stab2arg(A_STAB,yyvsp[0].stabval),
- Nullarg, Nullarg); }
- break;
- case 99:
- #line 491 ":perly.y"
- { yyval.arg = make_op(O_HELEM, 2,
- stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
- jmaybe(yyvsp[-1].arg),
- Nullarg); }
- break;
- case 100:
- #line 496 ":perly.y"
- { yyval.arg = make_op(O_LSLICE, 3,
- Nullarg,
- listish(make_list(yyvsp[-1].arg)),
- listish(make_list(yyvsp[-4].arg))); }
- break;
- case 101:
- #line 501 ":perly.y"
- { yyval.arg = make_op(O_LSLICE, 3,
- Nullarg,
- listish(make_list(yyvsp[-1].arg)),
- Nullarg); }
- break;
- case 102:
- #line 506 ":perly.y"
- { yyval.arg = make_op(O_ASLICE, 2,
- stab2arg(A_STAB,aadd(yyvsp[-3].stabval)),
- listish(make_list(yyvsp[-1].arg)),
- Nullarg); }
- break;
- case 103:
- #line 511 ":perly.y"
- { yyval.arg = make_op(O_HSLICE, 2,
- stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
- listish(make_list(yyvsp[-1].arg)),
- Nullarg); }
- break;
- case 104:
- #line 516 ":perly.y"
- { yyval.arg = make_op(O_DELETE, 2,
- stab2arg(A_STAB,hadd(yyvsp[-3].stabval)),
- jmaybe(yyvsp[-1].arg),
- Nullarg); }
- break;
- case 105:
- #line 521 ":perly.y"
- { yyval.arg = stab2arg(A_ARYLEN,yyvsp[0].stabval); }
- break;
- case 106:
- #line 523 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 107:
- #line 525 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 108:
- #line 527 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 109:
- #line 529 ":perly.y"
- { yyval.arg = yyvsp[0].arg; }
- break;
- case 110:
- #line 531 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
- make_list(yyvsp[-1].arg),
- Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch;
- yyval.arg->arg_flags |= AF_DEPR; }
- break;
- case 111:
- #line 537 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
- make_list(yyvsp[-1].arg),
- Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch; }
- break;
- case 112:
- #line 542 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
- make_list(Nullarg),
- Nullarg);
- yyval.arg->arg_flags |= AF_DEPR; }
- break;
- case 113:
- #line 548 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
- make_list(Nullarg),
- Nullarg); }
- break;
- case 114:
- #line 553 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_WORD,stabent(yyvsp[0].cval,MULTI)),
- Nullarg,
- Nullarg); }
- break;
- case 115:
- #line 558 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_STAB,yyvsp[-3].stabval),
- make_list(yyvsp[-1].arg),
- Nullarg);
- yyval.arg->arg_flags |= AF_DEPR; }
- break;
- case 116:
- #line 564 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_STAB,yyvsp[-3].stabval),
- make_list(yyvsp[-1].arg),
- Nullarg); }
- break;
- case 117:
- #line 569 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_STAB,yyvsp[-2].stabval),
- make_list(Nullarg),
- Nullarg);
- yyval.arg->arg_flags |= AF_DEPR; }
- break;
- case 118:
- #line 575 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_STAB,yyvsp[-2].stabval),
- make_list(Nullarg),
- Nullarg); }
- break;
- case 119:
- #line 580 ":perly.y"
- { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
- stab2arg(A_STAB,yyvsp[0].stabval),
- Nullarg,
- Nullarg); }
- break;
- case 120:
- #line 585 ":perly.y"
- { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
- break;
- case 121:
- #line 587 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival,1,cval_to_arg(yyvsp[0].cval),
- Nullarg,Nullarg); }
- break;
- case 122:
- #line 590 ":perly.y"
- { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
- break;
- case 123:
- #line 592 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival,1,cmd_to_arg(yyvsp[0].cmdval),Nullarg,Nullarg); }
- break;
- case 124:
- #line 594 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival,1,yyvsp[0].arg,Nullarg,Nullarg); }
- break;
- case 125:
- #line 596 ":perly.y"
- { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);}
- break;
- case 126:
- #line 598 ":perly.y"
- { yyval.arg = make_op(O_SELECT, 1,
- stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
- Nullarg,
- Nullarg);
- Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
- break;
- case 127:
- #line 604 ":perly.y"
- { yyval.arg = make_op(O_SELECT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
- break;
- case 128:
- #line 606 ":perly.y"
- { arg4 = yyvsp[-1].arg;
- yyval.arg = make_op(O_SSELECT, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
- break;
- case 129:
- #line 609 ":perly.y"
- { yyval.arg = make_op(O_OPEN, 2,
- stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
- stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
- Nullarg); }
- break;
- case 130:
- #line 614 ":perly.y"
- { yyval.arg = make_op(O_OPEN, 2,
- stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
- stab2arg(A_STAB,stabent(yyvsp[-1].cval,TRUE)),
- Nullarg); }
- break;
- case 131:
- #line 619 ":perly.y"
- { yyval.arg = make_op(O_OPEN, 2,
- yyvsp[-2].arg,
- yyvsp[-1].arg, Nullarg); }
- break;
- case 132:
- #line 623 ":perly.y"
- { yyval.arg = make_op(yyvsp[-3].ival, 1,
- yyvsp[-1].arg,
- Nullarg, Nullarg); }
- break;
- case 133:
- #line 627 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 1,
- stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
- Nullarg, Nullarg);
- Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
- break;
- case 134:
- #line 632 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 1,
- stab2arg(A_STAB,yyvsp[0].stabval),
- Nullarg, Nullarg); }
- break;
- case 135:
- #line 636 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival, 1,
- stab2arg(A_WORD,Nullstab),
- Nullarg, Nullarg); }
- break;
- case 136:
- #line 640 ":perly.y"
- { yyval.arg = make_op(yyvsp[0].ival, 0,
- Nullarg, Nullarg, Nullarg); }
- break;
- case 137:
- #line 643 ":perly.y"
- { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
- break;
- case 138:
- #line 645 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, make_list(yyvsp[-1].arg)); }
- break;
- case 139:
- #line 647 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 2, yyvsp[-3].arg, yyvsp[-1].arg, Nullarg); }
- break;
- case 140:
- #line 649 ":perly.y"
- { arg4 = yyvsp[-1].arg; yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
- break;
- case 141:
- #line 651 ":perly.y"
- { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
- yyval.arg = make_op(yyvsp[-8].ival, 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
- break;
- case 142:
- #line 654 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 2,
- yyvsp[-3].arg,
- make_list(yyvsp[-1].arg),
- Nullarg); }
- break;
- case 143:
- #line 659 ":perly.y"
- { yyval.arg = make_op(O_POP, 1, yyvsp[0].arg, Nullarg, Nullarg); }
- break;
- case 144:
- #line 661 ":perly.y"
- { yyval.arg = make_op(O_POP, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
- break;
- case 145:
- #line 663 ":perly.y"
- { yyval.arg = make_op(O_SHIFT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
- break;
- case 146:
- #line 665 ":perly.y"
- { yyval.arg = make_op(O_SHIFT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
- break;
- case 147:
- #line 667 ":perly.y"
- { yyval.arg = make_op(O_SHIFT, 1,
- stab2arg(A_STAB,
- aadd(stabent(subline ? "_" : "ARGV", TRUE))),
- Nullarg, Nullarg); }
- break;
- case 148:
- #line 672 ":perly.y"
- { static char p[]="/\\s+/";
- char *oldend = bufend;
- ARG *oldarg = yylval.arg;
-
- bufend=p+5;
- (void)scanpat(p);
- bufend=oldend;
- yyval.arg = make_split(defstab,yylval.arg,Nullarg);
- yylval.arg = oldarg; }
- break;
- case 149:
- #line 682 ":perly.y"
- { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg,
- make_split(defstab,yyvsp[-3].arg,yyvsp[-1].arg));}
- break;
- case 150:
- #line 685 ":perly.y"
- { yyval.arg = mod_match(O_MATCH, yyvsp[-1].arg,
- make_split(defstab,yyvsp[-2].arg,Nullarg) ); }
- break;
- case 151:
- #line 688 ":perly.y"
- { yyval.arg = mod_match(O_MATCH,
- stab2arg(A_STAB,defstab),
- make_split(defstab,yyvsp[-1].arg,Nullarg) ); }
- break;
- case 152:
- #line 692 ":perly.y"
- { yyval.arg = make_op(yyvsp[-4].ival, 2,
- yyvsp[-2].arg,
- listish(make_list(yyvsp[-1].arg)),
- Nullarg); }
- break;
- case 153:
- #line 697 ":perly.y"
- { yyval.arg = make_op(yyvsp[-3].ival, 1,
- make_list(yyvsp[-1].arg),
- Nullarg,
- Nullarg); }
- break;
- case 154:
- #line 702 ":perly.y"
- { yyval.arg = l(make_op(yyvsp[-1].ival, 1, fixl(yyvsp[-1].ival,yyvsp[0].arg),
- Nullarg, Nullarg)); }
- break;
- case 155:
- #line 705 ":perly.y"
- { yyval.arg = l(make_op(yyvsp[0].ival, 1,
- stab2arg(A_STAB,defstab),
- Nullarg, Nullarg)); }
- break;
- case 156:
- #line 709 ":perly.y"
- { yyval.arg = make_op(yyvsp[0].ival, 0, Nullarg, Nullarg, Nullarg); }
- break;
- case 157:
- #line 711 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
- break;
- case 158:
- #line 713 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
- break;
- case 159:
- #line 715 ":perly.y"
- { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
- break;
- case 160:
- #line 717 ":perly.y"
- { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
- if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
- fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
- break;
- case 161:
- #line 721 ":perly.y"
- { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
- if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
- fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
- break;
- case 162:
- #line 725 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
- if (yyvsp[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
- fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
- break;
- case 163:
- #line 729 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
- break;
- case 164:
- #line 731 ":perly.y"
- { arg4 = yyvsp[-1].arg;
- yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
- break;
- case 165:
- #line 734 ":perly.y"
- { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
- yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
- break;
- case 166:
- #line 737 ":perly.y"
- { yyval.arg = make_op(yyvsp[-3].ival, 1,
- yyvsp[-1].arg,
- Nullarg,
- Nullarg); }
- break;
- case 167:
- #line 742 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival, 1,
- yyvsp[0].arg,
- Nullarg,
- Nullarg); }
- break;
- case 168:
- #line 747 ":perly.y"
- { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
- break;
- case 171:
- #line 753 ":perly.y"
- { yyval.arg = make_op(yyvsp[0].ival,2,
- stab2arg(A_WORD,Nullstab),
- stab2arg(A_STAB,defstab),
- Nullarg); }
- break;
- case 172:
- #line 758 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival,2,
- stab2arg(A_WORD,Nullstab),
- maybelistish(yyvsp[-1].ival,make_list(yyvsp[0].arg)),
- Nullarg); }
- break;
- case 173:
- #line 763 ":perly.y"
- { yyval.arg = make_op(yyvsp[-1].ival,2,
- stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
- stab2arg(A_STAB,defstab),
- Nullarg); }
- break;
- case 174:
- #line 768 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival,2,
- stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
- maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
- Nullarg); Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch; }
- break;
- case 175:
- #line 773 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival,2,
- stab2arg(A_STAB,yyvsp[-1].stabval),
- maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
- Nullarg); }
- break;
- case 176:
- #line 778 ":perly.y"
- { yyval.arg = make_op(yyvsp[-2].ival,2,
- cmd_to_arg(yyvsp[-1].cmdval),
- maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
- Nullarg); }
- break;
- case 177:
- #line 785 ":perly.y"
- { yyval.arg = stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE));
- Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;}
- break;
- case 179:
- #line 791 ":perly.y"
- { yyval.arg = stab2arg(A_WORD,aadd(stabent(yyvsp[0].cval,TRUE)));
- Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
- break;
- case 180:
- #line 794 ":perly.y"
- { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
- break;
- case 181:
- #line 798 ":perly.y"
- { yyval.arg = stab2arg(A_WORD,hadd(stabent(yyvsp[0].cval,TRUE)));
- Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
- break;
- case 182:
- #line 801 ":perly.y"
- { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
- break;
- case 183:
- #line 805 ":perly.y"
- { yyval.ival = 1; }
- break;
- case 184:
- #line 807 ":perly.y"
- { yyval.ival = 0; }
- break;
- case 185:
- #line 816 ":perly.y"
- { char *s;
- yyval.arg = op_new(1);
- yyval.arg->arg_type = O_ITEM;
- yyval.arg[1].arg_type = A_SINGLE;
- yyval.arg[1].arg_ptr.arg_str = str_make(yyvsp[0].cval,0);
- for (s = yyvsp[0].cval; *s && isLOWER(*s); s++) ;
- if (dowarn && !*s)
- warn(
- "\"%s\" may clash with future reserved word",
- yyvsp[0].cval );
- }
- break;
- #line 3028 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: after reduction, shifting from state 0 to\
- state %d\n", YYFINAL);
- #endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, reading %d (%s)\n",
- YYFINAL, yychar, yys);
- }
- #endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: after reduction, shifting from state %d \
- to state %d\n", *yyssp, yystate);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
- yyoverflow:
- yyerror("yacc stack overflow");
- yyabort:
- return (1);
- yyaccept:
- return (0);
- }
-